# Universal Business Language Version 2.5

## Committee Specification Draft 02

## 03 December 2025

This stage:
https://docs.oasis-open.org/ubl/csd02-UBL-2.5/UBL-2.5.html
https://docs.oasis-open.org/ubl/csd02-UBL-2.5/UBL-2.5.pdf
https://docs.oasis-open.org/ubl/csd02-UBL-2.5/UBL-2.5.xml (Authoritative)

Previous stage:
https://docs.oasis-open.org/ubl/csd01-UBL-2.5/UBL-2.5.html
https://docs.oasis-open.org/ubl/csd01-UBL-2.5/UBL-2.5.pdf
https://docs.oasis-open.org/ubl/csd01-UBL-2.5/UBL-2.5.xml (Authoritative)

Latest stage:
https://docs.oasis-open.org/ubl/UBL-2.5.html
https://docs.oasis-open.org/ubl/UBL-2.5.pdf

Technical Committee:
OASIS Universal Business Language TC

Chair:
Kenneth Bengtsson (kbengtsson@efact.pe), Individual

Editor:
TBD (to be confirmed by TC) (oasis-ubl@ConnectedCommunity.org), OASIS UBL TC

Additional artefacts:

This prose specification is one component of a Work Product that also includes:

- Code lists for constraint validation:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/cl/

- Context/value Association files for constraint validation:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/cva/

- Document models of information bundles:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/mod/

- Default validation test environment:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/val/

- XML examples:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/xml/

- Annotated XSD schemas:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/xsd/

- Runtime XSD schemas:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/xsdrt/

- Endorsed XSD schemas for forward validation:

  - https://docs.oasis-open.org/ubl/csd02-UBL-2.5/endorsed/xsd/

The ZIP containing the complete files of this release is found in the directory:

- https://docs.oasis-open.org/ubl/csd02-UBL-2.5/UBL-2.5.zip

Related work:

This specification supersedes:

[UBL-2.4] Universal Business Language Version 2.4. Edited by Kenneth Bengtsson and Kees Duvekot. 20 June 2024. OASIS Standard. https://docs.oasis-open.org/ubl/os-UBL-2.4/UBL-2.4.html.

Declared XML Namespaces:

urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2
urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2
urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2
urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2
urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2
urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2
urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2
urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2

urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2
urn:oasis:names:specification:ubl:schema:xsd:AttachedDocument-2
urn:oasis:names:specification:ubl:schema:xsd:AwardedNotification-2
urn:oasis:names:specification:ubl:schema:xsd:BillOfLading-2
urn:oasis:names:specification:ubl:schema:xsd:BusinessCard-2
urn:oasis:names:specification:ubl:schema:xsd:BusinessInformation-2
urn:oasis:names:specification:ubl:schema:xsd:CallForTenders-2
urn:oasis:names:specification:ubl:schema:xsd:Catalogue-2
urn:oasis:names:specification:ubl:schema:xsd:CatalogueDeletion-2
urn:oasis:names:specification:ubl:schema:xsd:CatalogueItemSpecificationUpdate-2
urn:oasis:names:specification:ubl:schema:xsd:CataloguePricingUpdate-2
urn:oasis:names:specification:ubl:schema:xsd:CatalogueRequest-2
urn:oasis:names:specification:ubl:schema:xsd:CertificateOfOrigin-2
urn:oasis:names:specification:ubl:schema:xsd:CommonTransportationReport-2
urn:oasis:names:specification:ubl:schema:xsd:ContractAwardNotice-2
urn:oasis:names:specification:ubl:schema:xsd:ContractNotice-2
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2
urn:oasis:names:specification:ubl:schema:xsd:DebitNote-2
urn:oasis:names:specification:ubl:schema:xsd:DeliveryNote-2
urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2
urn:oasis:names:specification:ubl:schema:xsd:DigitalAgreement-2
urn:oasis:names:specification:ubl:schema:xsd:DigitalCapability-2
urn:oasis:names:specification:ubl:schema:xsd:DocumentStatus-2
urn:oasis:names:specification:ubl:schema:xsd:DocumentStatusRequest-2
urn:oasis:names:specification:ubl:schema:xsd:Enquiry-2
urn:oasis:names:specification:ubl:schema:xsd:EnquiryResponse-2
urn:oasis:names:specification:ubl:schema:xsd:ExceptionCriteria-2
urn:oasis:names:specification:ubl:schema:xsd:ExceptionNotification-2
urn:oasis:names:specification:ubl:schema:xsd:ExportCustomsDeclaration-2
urn:oasis:names:specification:ubl:schema:xsd:ExpressionOfInterestRequest-2
urn:oasis:names:specification:ubl:schema:xsd:ExpressionOfInterestResponse-2
urn:oasis:names:specification:ubl:schema:xsd:Forecast-2
urn:oasis:names:specification:ubl:schema:xsd:ForecastRevision-2
urn:oasis:names:specification:ubl:schema:xsd:ForwardingInstructions-2
urn:oasis:names:specification:ubl:schema:xsd:FreightInvoice-2
urn:oasis:names:specification:ubl:schema:xsd:FulfilmentCancellation-2
urn:oasis:names:specification:ubl:schema:xsd:GoodsCertificate-2
urn:oasis:names:specification:ubl:schema:xsd:GoodsItemItinerary-2
urn:oasis:names:specification:ubl:schema:xsd:GoodsItemPassport-2
urn:oasis:names:specification:ubl:schema:xsd:GuaranteeCertificate-2
urn:oasis:names:specification:ubl:schema:xsd:ImportCustomsDeclaration-2
urn:oasis:names:specification:ubl:schema:xsd:InstructionForReturns-2
urn:oasis:names:specification:ubl:schema:xsd:InventoryReport-2
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2
urn:oasis:names:specification:ubl:schema:xsd:InvoiceStatusRequest-2
urn:oasis:names:specification:ubl:schema:xsd:InvoiceStatusResponse-2
urn:oasis:names:specification:ubl:schema:xsd:ItemInformationRequest-2
urn:oasis:names:specification:ubl:schema:xsd:Manifest-2
urn:oasis:names:specification:ubl:schema:xsd:Order-2
urn:oasis:names:specification:ubl:schema:xsd:OrderCancellation-2
urn:oasis:names:specification:ubl:schema:xsd:OrderChange-2
urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-2
urn:oasis:names:specification:ubl:schema:xsd:OrderResponseSimple-2
urn:oasis:names:specification:ubl:schema:xsd:PackingList-2
urn:oasis:names:specification:ubl:schema:xsd:PriorInformationNotice-2
urn:oasis:names:specification:ubl:schema:xsd:ProcurementStatus-2
urn:oasis:names:specification:ubl:schema:xsd:ProcurementStatusRequest-2
urn:oasis:names:specification:ubl:schema:xsd:ProductActivity-2
urn:oasis:names:specification:ubl:schema:xsd:ProofOfReexportation-2
urn:oasis:names:specification:ubl:schema:xsd:ProofOfReexportationReminder-2
urn:oasis:names:specification:ubl:schema:xsd:ProofOfReexportationRequest-2
urn:oasis:names:specification:ubl:schema:xsd:PurchaseReceipt-2
urn:oasis:names:specification:ubl:schema:xsd:QualificationApplicationRequest-2
urn:oasis:names:specification:ubl:schema:xsd:QualificationApplicationResponse-2
urn:oasis:names:specification:ubl:schema:xsd:Quotation-2
urn:oasis:names:specification:ubl:schema:xsd:ReceiptAdvice-2
urn:oasis:names:specification:ubl:schema:xsd:Reminder-2
urn:oasis:names:specification:ubl:schema:xsd:RemittanceAdvice-2
urn:oasis:names:specification:ubl:schema:xsd:RequestForQuotation-2
urn:oasis:names:specification:ubl:schema:xsd:RetailEvent-2
urn:oasis:names:specification:ubl:schema:xsd:SelfBilledCreditNote-2
urn:oasis:names:specification:ubl:schema:xsd:SelfBilledInvoice-2
urn:oasis:names:specification:ubl:schema:xsd:Statement-2
urn:oasis:names:specification:ubl:schema:xsd:StockAvailabilityReport-2
urn:oasis:names:specification:ubl:schema:xsd:Tender-2
urn:oasis:names:specification:ubl:schema:xsd:TenderContract-2
urn:oasis:names:specification:ubl:schema:xsd:TenderReceipt-2
urn:oasis:names:specification:ubl:schema:xsd:TenderStatus-2
urn:oasis:names:specification:ubl:schema:xsd:TenderStatusRequest-2
urn:oasis:names:specification:ubl:schema:xsd:TenderWithdrawal-2
urn:oasis:names:specification:ubl:schema:xsd:TendererQualification-2
urn:oasis:names:specification:ubl:schema:xsd:TendererQualificationResponse-2
urn:oasis:names:specification:ubl:schema:xsd:TradeItemLocationProfile-2
urn:oasis:names:specification:ubl:schema:xsd:TransitCustomsDeclaration-2
urn:oasis:names:specification:ubl:schema:xsd:TransportExecutionPlan-2
urn:oasis:names:specification:ubl:schema:xsd:TransportExecutionPlanRequest-2
urn:oasis:names:specification:ubl:schema:xsd:TransportProgressStatus-2
urn:oasis:names:specification:ubl:schema:xsd:TransportProgressStatusRequest-2
urn:oasis:names:specification:ubl:schema:xsd:TransportServiceDescription-2
urn:oasis:names:specification:ubl:schema:xsd:TransportServiceDescriptionRequest-2
urn:oasis:names:specification:ubl:schema:xsd:TransportationStatus-2
urn:oasis:names:specification:ubl:schema:xsd:TransportationStatusRequest-2
urn:oasis:names:specification:ubl:schema:xsd:UnawardedNotification-2
urn:oasis:names:specification:ubl:schema:xsd:UnsubscribeFromProcedureRequest-2
urn:oasis:names:specification:ubl:schema:xsd:UnsubscribeFromProcedureResponse-2
urn:oasis:names:specification:ubl:schema:xsd:UtilityStatement-2
urn:oasis:names:specification:ubl:schema:xsd:WasteMovement-2
urn:oasis:names:specification:ubl:schema:xsd:WasteNotification-2
urn:oasis:names:specification:ubl:schema:xsd:Waybill-2
urn:oasis:names:specification:ubl:schema:xsd:WeightStatement-2
urn:oasis:names:specification:ubl:schema:xsd:WorkReport-2

Abstract:

This specification defines the Universal Business Language, version 2.5.

Status:

This document was last revised or approved by the OASIS Universal Business Language TC on the above date. The level of approval is also listed above. Check the “Latest stage” location noted above for possible later revisions of this document. Any other numbered versions and other technical work produced by the Technical Committee (TC) are listed at https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ubl#technical.

TC members should send comments on this document to the TC’s email list. Others should send comments to the TC’s public comment list, after subscribing to it by following the instructions at the “Send A Comment” button on the TC’s web page at https://www.oasis-open.org/committees/ubl/.

This specification is provided under the RF on Limited Terms Mode of the OASIS IPR Policy, the mode chosen when the Technical Committee was established. For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (https://www.oasis-open.org/committees/ubl/ipr.php).

Note that any machine-readable content (Computer Language Definitions) declared Normative for this Work Product is provided in separate plain text files. In the event of a discrepancy between any such plain text file and display content in the Work Product’s prose narrative document(s), the content in the separate plain text file prevails.

Citation format:

When referencing this specification the following citation format should be used:

[UBL-2.5] Universal Business Language Version 2.5. Edited by Kenneth Bengtsson. 03 December 2025. Committee Specification Draft 02. https://docs.oasis-open.org/ubl/csd02-UBL-2.5/UBL-2.5.html. Latest stage: https://docs.oasis-open.org/ubl/UBL-2.5.html.

Notices:

Copyright © OASIS Open 2001-2025. All Rights Reserved.

Distributed under the terms of the OASIS IPR Policy, [https://www.oasis-open.org/policies-guidelines/ipr/]. For complete copyright information please see the full Notices section in Appendix K, Notices.

## 1 Introduction

### 1.1 Overview

Since its approval as a W3C recommendation in 1998, XML has been adopted in a number of industries as a framework for the definition of the messages exchanged in electronic commerce. The widespread use of XML has led to the development of multiple industry-specific XML versions of such basic documents as purchase orders, shipping notices, and invoices.

While industry-specific data formats have the advantage of maximal optimization for their business context, the existence of different formats to accomplish the same purpose in different business domains is attended by a number of significant disadvantages as well.

- Developing and maintaining multiple versions of common business documents like purchase orders and invoices is a major duplication of effort.

- Creating and maintaining multiple adapters to enable trading relationships across domain boundaries is an even greater effort.

- The existence of multiple XML formats makes it much harder to integrate XML business messages with back-office systems.

- The need to support an arbitrary number of XML formats makes tools more expensive and trained workers harder to find.

The OASIS Universal Business Language (UBL) is intended to help solve these problems by defining a generic XML interchange format for business documents that can be restricted or extended to meet the requirements of particular industries. Specifically, UBL provides the following:

- A suite of structured business objects and their associated semantics expressed as reusable data components and common business documents.

- A library of XML schemas for reusable data components such as “Address”, “Item”, and “Payment”—the common data elements of everyday business documents.

- A set of XML schemas for common business documents such as “Order”, “Despatch Advice”, and “Invoice” that are constructed from the UBL library components and can be used in generic procurement and transportation contexts.

A standard basis for XML business schemas provides the following advantages:

- Lower cost of integration, both among and within enterprises, through the reuse of common data structures.

- Lower cost of commercial software, because software written to process a given XML tag set is much easier to develop than software that is capable of handling an unlimited number of tag sets.

- An easier learning curve, because users need master just a single library.

- Lower cost of entry and therefore quicker adoption by micro, small and medium-size enterprises (MSMEs).

- Standardized training, resulting in many skilled workers.

- A universally available pool of system integrators.

- Standardized, inexpensive data input and output tools.

- A standard target for inexpensive off-the-shelf business software.

UBL is designed to provide a universally understood and recognized syntax for legally binding business documents and to operate within a standard business framework such as ISO/IEC 15000 (ebXML) to provide a complete, standards-based infrastructure that is capable of extending the benefits of existing EDI systems to businesses of all sizes. UBL is freely available to everyone without legal encumbrance or licensing fees.

UBL is engineered to be backward compatible across minor revisions to the specification. UBL documents conforming to a given UBL version are and shall always be conforming to subsequent minor revisions of that UBL version. This impact of this is detailed in Section C.1, “The Business and Regulatory Impact of UBL Major and Minor Revisions”.

UBL schemas are modular, reusable, and extensible in XML-aware ways. As an implementation of UN/CEFACT Core Components Technical Specification (CCTS) 2.01 [CCTS], the UBL Library is based on a conceptual model of information components known as Business Information Entities (BIEs). These components are assembled into specific document models such as Order and Invoice. These document models are then transformed in accordance with UBL Naming and Design Rules’ [UBL-NDR] use of the OASIS Business Document Naming and Design Rules (NDR) [BD-NDR] into W3C XSD schema syntax. This approach facilitates the creation of UBL-based document types beyond those specified in this release. More information regarding the use of CCTS and NDR is found in Appendix D, The UBL 2.5 Data Model (Non-Normative).

UBL can also be regarded as a generic Open-edi Configuration in the perspective of the Open-edi Reference Model (ISO/IEC 14662:2010). This is described in more detail in Appendix I, The Open-edi reference model perspective of UBL (Non-Normative).

The intended primary audiences for this specification are:

- those who analyse and document business or processes or systems, assessing the business model or its integration with technology;

- those involved in the identification of business requirements for solutions to support the exchange of the digital business documents;

- those involved in the design, operation and implementation of software and services for the exchange of digital business documents; or

- those involved in the design, integration and operation of business applications dealing with digital documents.

### 1.2 Terminology

#### 1.2.1 Terms and Definitions

ASiC-S , noun

  standard container that associates a single data object with one or more detached signature(s) that apply to it

  ### Note 1 to entry:

  See [ASiC].

digital signature , noun

  value generated from the application of a private key to a message via a cryptographic algorithm such that it has the properties of integrity and message authentication and/or signer authentication

  ### Note 1 to entry:

  A signature may be (non-exclusively) described as detached, enveloping, or enveloped ([xmldsig], with modifications).

document , noun

  set of information components that are exchanged as part of a business transaction

  ### EXAMPLE:

  When placing an order.

transform , verb

  processing of data from its source to its derived form

  ### Note 1 to entry:

  Typical transforms include XML Canonicalization [XML C14N] and XSLT [XSLT 2.0].

XSD schema , noun

  XML document definition conforming to the W3C XML Schema language [XSD1] [XSD2]

#### 1.2.2 Other Terms and Definitions

The terms Core Component (CC), Basic Core Component (BCC), Aggregate Core Component (ACC), Association Core Component (ASCC), Business Information Entity (BIE), Basic Business Information Entity (BBIE), and Aggregate Business Information Entity (ABIE) are used in this specification with the meanings given in [CCTS].

The terms Object Class, Property Term, Representation Term, and Qualifier are used in this specification with the meanings given in [ISO11179].

Within the normative text of this specification, the terms "shall", "shall not", "should", "should not" and "may" are to be interpreted as described in Annex H of [ISO/IEC Directives].

#### 1.2.3 Symbols and Abbreviated Terms

ABIE | Aggregate Business Information Entity
ASBIE | Association Business Information Entity
ASIC-S | Associated Signature Container (simple form)
BBIE | Basic Business Information Entity
BIE | Business Information Entity
C14N | Canonicalization
DSig | Digital Signature
EDI | Electronic Data Interchange
IEC | International Electrotechnical Commission
ISO | International Organization for Standardization
NDR | Naming and Design Rules
UML | Unified Modeling Language [UML]
UN/CEFACT | United Nations Centre for Trade Facilitation and Electronic Business
URI | Uniform Resource Identifier
XAdES | Digital Signature based on [XAdES]
XML | Extensible Markup Language [XML]
XMLDSig | XML Digital Signature [xmldsig]
XPath | The XML Path Language [XPath 2.0]
XSD | W3C XML Schema Language [XSD1] [XSD2]
XSLT | Extensible Stylesheet Language Transformations (a transformation language) [XSLT] [XSLT 2.0]

## 2 UBL 2.5 Business Objects

### 2.1 Business Object Overview

The processes described in this section, and the business rules associated with them, define a context for the use of UBL 2.5 business documents. They are normative insofar as they provide semantics for the UBL document schemas, but they ought not be construed as limiting the application of those schemas.

UBL 2.2 extended the pre-award tendering processes, adds a new transportation document for the weight statement, and adds new documents for a business directory and agreements. UBL 2.1 extended the generalized supply chain processes of UBL 2.0 (including the commercial collaborations of international trade) to include support for collaborative planning, forecasting, and replenishment; vendor managed inventory; utility billing; tendering; and intermodal freight management.

The document types included in UBL 2.5 are listed in Section 3, “UBL 2.5 Schemas”. It is important to note that, as with previous UBL releases, the UBL 2.5 library is designed to support the construction of a wide variety of document types beyond those provided in the 2.5 package. It is expected that implementers will develop their own customized document types and components and that more UBL document types will be added as the library evolves.

For guidance in customizing UBL document types, see the UBL Guidelines for Customization [Customization].

For guidance in submitting recommended additions to and new UBL document types, see the UBL Maintenance Governance Procedures [Governance].

### 2.2 General Business Rules

#### 2.2.1 General Business Rules Introduction

This section describes some of the requirements and general business rules that are assumed for collaborations and document exchanges using UBL 2.5.

#### 2.2.2 Manifest Values

All information items in a UBL document are specified by the sender either as they are valued or as they are determined by some manner of a calculation model. For examples, an element may contain a fixed value, such as a name, or may contain a calculated value, such as one that is derived as the sum of other elements’ values. The way a value is established or perhaps based upon a calculation model may or may not be documented by the sender. This imposes obligations on the sender when creating the UBL.

All fixed and calculated values will be manifest in the UBL instance. The receiver cannot presume to know that the sender has omitted an absent value as an assumption or as an indication of any kind that is pertinent to how the information is processed. Moreover, the sender cannot rely on the receiver deriving absent values from received values. The onus is on the sender to include all information, such as all pertinent indications and all relevant sums or calculations. The receiver must not be required to make any assumptions nor perform any computations whatsoever when dealing with the sender’s information.

An example receiver application is a print facility that can print any instance of a given UBL document type without having to perform any calculations nor need even know the underlying calculation model.

#### 2.2.3 Items

- An item may be a product (goods) or a service

- Items may have multiple classifications

- A contract may influence prices of items

- An item may be part of another item

- An item may have a price per unit and an order unit

- An item may reference pictures and documents

- An item may have a validity period

- An item may refer to other relevant or necessary items

### Note

For a discussion of the difference between item and line item see Section 2.2.11, “Item vs. Line Item”.

#### 2.2.4 Item Identification

One of the following identifiers may be used to identify each Item (for example, a product):

- Buyer’s Item Identification, or

- Seller’s Item Identification, or

- Manufacturer’s Item Identification, or

- Catalogue Item Identification, or

- Item Identification according to a system promulgated by a standards body, industry group, or community of use.

The Item may be further distinguished by the specification of Measurement(s) or Physical Attribute(s). This enables specification of the following kinds of item:

- Item Requiring Description

  This is an item that is not identified by an unambiguous machine-processable identifier and requires additional descriptive information to precisely identify it.

- Customer Defined Item

  This is an item that the customer describes according to his need, and in the specification of which the customer may make some reference to comparable “standard” items.

- Item Requiring Measurements

  This is an item for which it is necessary to specify one or more measurements as part of the descriptive specification of the item.

#### 2.2.5 Item Instances

Certain Items may be identified and ordered as individual, unique objects—for example, a specific car rather than a make and model of a car. This form of identification may also be needed for product tracing (e.g., perishable goods) or because of the nature of the commodity (e.g., used, collectible, specialized, or rare).

In data modeling terms, an Item Instance is an extension of an Item.

#### 2.2.6 Item Pricing

For any given Item, price ranges by amount, quantity, location, etc., are specified by the Seller during the sourcing stage. They are not repeated back to the Seller during Ordering; only the active price is specified.

In some cases, the Buyer may not know the Item Price, in which case it is not specified. This makes a detailed response from the Seller necessary; see Section 2.3.3.4.4, “Order Response”.

#### 2.2.7 Hazardous Items

Although ordered items may include Hazardous items, it is not necessary to specify information related to Hazardous status at the order stage. The Buyer may not be aware of the nature of the Item. Indication of the Hazardous nature of the Item, and any relevant information, would be indicated in the Despatch Advice and Transportation documents.

#### 2.2.8 Parties

In UBL, a party is defined as an individual, a group, or a body having a role in a business function. Dependent on the business process, a Party may play various roles in the document exchange. For a list of UBL parties and their roles, see Section 2.4, “Party Roles”.

#### 2.2.9 Multilingual Text

Some textual components, such as Notes and Description, may be specified in several languages. Each ought to be a separate occurrence of the component, using the language attribute to define its presentation. However, multiple occurrences of the same textual components ought not to be in the same language.

#### 2.2.10 Taxation Rules

UBL does not provide documents for tax reporting purposes. Instead, it provides structures to support the information on which taxes are based. These aim to be generic and not based on any specific tax regime.

#### 2.2.11 Item vs. Line Item

Many of the UBL document types employ the concept of a “line” inherited from traditional paper documents such as purchase orders and invoices. As in these older realizations, a “line” is a substantial data object with a number of sub-fields, typically including a short description, quantity, unit name, unit price, extension, and so on. Often in UBL these data structures include an element named `Item` that describes more fully the item of sale being ordered, invoiced, shipped, etc. `Item` in the line context always refers to the generic item of sale, not a unique, trackable, individual instance of such an item.

In the case of line structures such as `InvoiceLine` and `TenderLine`, the relationship between the line and the `Item` it contains is unproblematic, but a person unfamiliar with traditional usage may easily be confused by the line element called `LineItem`. In traditional business processes, “line item” is a common name for the entire line structure in a purchase order or invoice, not just the item of sale contained in the line. Thus, despite the name, a `LineItem` is not an `Item` but rather a complex data structure that contains an `Item` along with quantity, price, and so on.

#### 2.2.12 Shipment vs. Consignment

References to “shipment” and “consignment” appear in a number of places in the UBL data model relating to the transport of goods. For IT specialists unfamiliar with the way these terms are used in international trade, the structural relationships between the two can be puzzling. For example, a close look at the data model shows that shipments can comprise multiple consignments and consignments can comprise multiple shipments. This is not a design flaw but rather a reflection of the possible real-world relationships between the two concepts.

Shipment and consignment actually refer to two different ways of looking at the same (possibly very complex) situation. From the physical or logistical point of view, a consignment is the transportation of an identifiable collection of goods items from one party (the consignor) to another (the consignee) via one or more modes of transport. From the contractual or logical point of view, a shipment is the contractual arrangement whereby an identifiable collection of goods items is to be transported from one party (the shipper) to another party (the recipient). In UBL, the party originating the shipment is usually a supplier, and the party receiving the shipment is usually a buyer.

In the simplest fulfilment scenario, these distinctions are almost invisible; see Figure 1, “Simple Fulfilment” below (used, like the subsequent three, by permission of Document Engineering Services). In this case, the supplier of the contracted shipment is the consignor of the physical goods, and the buyer is the consignee.

Figure 1. Simple Fulfilment

Often, however, a single contractual shipment is split up into separate physical consignments that may be received on separate schedules, as shown in Figure 2, “Split Fulfilment”. The shipper may use multiple carriers, or the shipment may be so large that it needs to be transported in multiple vessels, becoming in effect multiple consignments. It is therefore often necessary for the UBL description of a shipment to contain descriptions of the consignments into which the goods have been divided.

Figure 2. Split Fulfilment

So far, the shipper (here a supplier) remains the only consignor and the recipient (here the buyer) the only consignee. But sometimes the division of a shipment into consignments takes place “behind the scenes” through the involvement of a freight forwarder, who becomes both a second consignee and a second consignor (Figure 3, “Intermediary Fulfilment”). The “shipment” in this case is the entire end-to-end organization of the transport of goods on behalf of the shipper.

Figure 3. Intermediary Fulfilment

Another layer of complexity is introduced when pieces of different, possibly unrelated shipments are consolidated into a single consignment to make the physical process more efficient (to share space in the same shipping container, for example, which optimizes transport by ensuring that the container is fully loaded and also provides a more competitive tariff). In Figure 4, “Consolidated Fulfilment”, goods from two completely unrelated business transactions between two buyers and their suppliers — two different shipments — are consolidated by a freight forwarder into a single consignment for part of their journey and then separated again by another freight forwarder farther on. This requires the UBL description of the consignment to contain descriptions of the shipments participating in the consolidation. Note that the transaction between the two freight forwarders is itself a shipment (a consolidated shipment), and its data structure needs to be able to describe the two shipments it is covering (Supplier A to Buyer A and Supplier B to Buyer B) so that the receiving forwarder knows how to de-consolidate the consignment.

Figure 4. Consolidated Fulfilment

Note that the word “consignment” in the context of transportation has a meaning different from that of “consignment” in sales and vendor-managed inventory (Section 2.3.3.5, “Vendor Managed Inventory”).

#### 2.2.13 Transport vs. Transportation

The terms “transport” and “transportation” both appear many times in the UBL data model. There is no semantic difference between these terms as used in UBL; in the context of freight management, they mean exactly the same thing: the conveyance of goods or persons.

“Transportation” is the oldest of the two forms, the noun “transportation” first appearing in written English about 70 years earlier than the noun “transport”. UBL 2.0 adopted “transportation” as the preferred form in terms such as “transportation service” and “transportation status”, but in the process of developing UBL, which features greatly expanded data representation capabilities for multimodal freight management, it became clear that “transport” is the form to be preferred, both because it is shorter and because it is the more commonly used of the two in international contexts. The decision to adopt “transport” for new usages while preserving backward compatibility with UBL 2.0 by retaining “transportation” in data items from the earlier release has resulted in the mixed terminology seen here.

#### 2.2.14 Transport Events

There are two methods of capturing Transport Event information: at the Consignment level and at the Shipment Stage level.

A Consignment may pass through several shipment stages in its lifetime, for maritime shipments this would typically be pre-carriage, main carriage and on-carriage stages. Each of these stages has events such as pickups and deliveries. In these scenarios the Shipment Stage is the appropriate structure for containing the Transport Event information.

But it is also possible for the information to be a snapshot of the status of a Consignment (for example where the consignee and consignor are not aware of these stages). This view of the Consignment is as one set of Transport Events. In these scenarios the Consignment is the appropriate structure for holding the Transport Event information.

#### 2.2.15 Financial Information

UBL has been enhanced to support the financial information required for downstream processing of Invoices within financial services. By aligning information models business vocabularies such as UBL for eBusiness and ISO 20022 for eFinance enable Straight Through Processing (STP) and paperless trading along the entire Financial Supply Chain. For example, the UBL Invoice and Remittance Advice can be used together with financial messages to ensure end-to-end transport of reconciliation identifiers (invoicing party references). In particular, UBL provides a solution for advanced external remittance, where the UBL Remittance Advice is used to transmit the details of complex remittance information associated with the payment initiation process (see ISO 20022 guides for details).

UBL is also designed to support basic trade financing practices (invoice financing, factoring, pre-shipment/order financing, Letter of Credit, etc.).

#### 2.2.16 Indirect Taxes

The structure and semantics of UBL with respect to taxation information have been aligned with the OASIS Indirect Tax Reference Model Version 2.0 produced by the OASIS Tax XML TC supported by the OECD. The purpose of this reference model is to present a model of the tax related information contained within the messages exchanged between the participants involved in a business transaction, the primary purpose of which is not tax-related, but which may be subject to the imposition of an indirect tax. This model is intended to serve as a reference for any effort to analyze the related messages (documents) of an implementation to verify that the indirect tax implications are adequately addressed, and as input to any effort to define message-oriented specifications involving indirect taxation. It is based on a three party scenario, where parties in a commercial business process can conduct their transactions and provide taxation, customs or independently auditable information when required.

### 2.3 Supply Chain Business Processes

#### 2.3.1 Supply Chain Overview

Following from UBL 2.4, the UBL 2.5 library and documents support an increased range of different business processes. See Section C.8, “Minor Revision: UBL 2.5” for a detailed summary of the changes to the library and documents. The UBL business processes now supported can be categorized as follows (those with document type additions in 2.5 are shown in italicized boldface):

- Section 2.3.2, “Plan”

  - Section 2.3.2.1, “Collaborative Planning, Forecasting, and Replenishment”

    - Section 2.3.2.1.1, “Collaborative Planning, Forecasting, and Replenishment Introduction”

    - Section 2.3.2.1.2, “Collaboration Agreement and Joint Business Planning”

    - Section 2.3.2.1.3, “Sales Forecast Generation and Exception Handling”

    - Section 2.3.2.1.4, “Order Forecast Generation and Exception Handling”

- Section 2.3.3, “Procurement”

  - Section 2.3.3.1, “Pre-award”

    - Section 2.3.3.1.1, “Pre-award Introduction”

    - Section 2.3.3.1.2, “Contract Information Preparation”

    - Section 2.3.3.1.3, “Contract Information Notification”

    - Section 2.3.3.1.4, “Invitation to Tender”

    - Section 2.3.3.1.5, “Expression of Interest”

    - Section 2.3.3.1.6, “Unsubscribe from Procedure”

    - Section 2.3.3.1.7, “Submission of Qualification Information”

    - Section 2.3.3.1.8, “Qualification Application”

    - Section 2.3.3.1.9, “Enquiry”

    - Section 2.3.3.1.10, “Submission of Tenders”

    - Section 2.3.3.1.11, “Tender Status”

    - Section 2.3.3.1.12, “Tender Withdrawal”

    - Section 2.3.3.1.13, “Awarding of Tenders”

    - Section 2.3.3.1.14, “Contract”

  - Section 2.3.3.2, “Catalogue”

    - Section 2.3.3.2.1, “Catalogue Introduction”

    - Section 2.3.3.2.2, “Catalogue Business Rules”

    - Section 2.3.3.2.3, “Catalogue Provision”

      - Section 2.3.3.2.3.1, “Catalogue Provision Introduction”

      - Section 2.3.3.2.3.2, “Create Catalogue”

      - Section 2.3.3.2.3.3, “Update Catalogue Item Specification”

      - Section 2.3.3.2.3.4, “Update Catalogue Pricing”

      - Section 2.3.3.2.3.5, “Delete Catalogue”

      - Section 2.3.3.2.3.6, “Punchout”

  - Section 2.3.3.3, “Quotation”

  - Section 2.3.3.4, “Ordering (post-award)”

    - Section 2.3.3.4.1, “Ordering Introduction”

    - Section 2.3.3.4.2, “Ordering Business Rules”

    - Section 2.3.3.4.3, “Order Response Simple”

    - Section 2.3.3.4.4, “Order Response”

    - Section 2.3.3.4.5, “Order Change”

    - Section 2.3.3.4.6, “Order Cancellation”

  - Section 2.3.3.5, “Vendor Managed Inventory”

    - Section 2.3.3.5.1, “Vendor Managed Inventory Introduction”

    - Section 2.3.3.5.2, “Basic Vendor Managed Inventory”

      - Section 2.3.3.5.2.1, “Basic Vendor Managed Inventory Introduction”

      - Section 2.3.3.5.2.2, “Initial Stocking of the Area by Producer”

      - Section 2.3.3.5.2.3, “Report of Sales and Inventory Movement”

      - Section 2.3.3.5.2.4, “Permanent Replenishment”

      - Section 2.3.3.5.2.5, “Invoicing for Vendor Managed Inventory”

      - Section 2.3.3.5.2.6, “Returns Initiated by the Producer”

      - Section 2.3.3.5.2.7, “Price Adjustments”

    - Section 2.3.3.5.3, “Cyclic Replenishment Program (CRP)”

      - Section 2.3.3.5.3.1, “Cyclic Replenishment Program (CRP) Introduction”

      - Section 2.3.3.5.3.2, “Transfer of Base Item Catalogue”

      - Section 2.3.3.5.3.3, “Initial Stocking of the Area by Retailer”

      - Section 2.3.3.5.3.4, “Periodic (Weekly) Replenishment”

      - Section 2.3.3.5.3.5, “Report of Sales and Inventory Movements”

      - Section 2.3.3.5.3.6, “Cyclic Replenishment Program Invoicing”

      - Section 2.3.3.5.3.7, “Synchronizing of Stock Information”

      - Section 2.3.3.5.3.8, “Changes to the Item Catalogue”

    - Section 2.3.3.5.4, “Replenishment On Customer Demand”

      - Section 2.3.3.5.4.1, “Replenishment On Customer Demand Introduction”

      - Section 2.3.3.5.4.2, “Transfer of Base Article Catalogue”

      - Section 2.3.3.5.4.3, “Periodic Transfer of Article Availability Information”

      - Section 2.3.3.5.4.4, “Initial Stocking of the Area by Producer and Retailer”

      - Section 2.3.3.5.4.5, “Periodic Replenishment”

      - Section 2.3.3.5.4.6, “Report of Sales and Inventory Movement on Customer Demand”

      - Section 2.3.3.5.4.7, “Invoicing for Replenishment On Customer Demand”

      - Section 2.3.3.5.4.8, “Synchronizing Stock Information”

      - Section 2.3.3.5.4.9, “Changes to the Article Catalogue”

- Section 2.3.4, “Make”

- Section 2.3.5, “Deliver ”

  - Section 2.3.5.1, “Logistics”

    - Section 2.3.5.1.1, “Fulfilment Introduction”

    - Section 2.3.5.1.2, “Despatch Advice Business Rules”

    - Section 2.3.5.1.3, “Receipt Advice Business Rules”

    - Section 2.3.5.1.4, “Fulfilment Cancellation Business Rules”

  - Section 2.3.5.2, “Transport ”

    - Section 2.3.5.2.1, “International Freight Management Introduction”

    - Section 2.3.5.2.2, “Forwarding Instructions”

    - Section 2.3.5.2.3, “Packing List”

    - Section 2.3.5.2.4, “Bill of Lading”

    - Section 2.3.5.2.5, “Waybill”

    - Section 2.3.5.2.6, “Weight Statement”

    - Section 2.3.5.2.7, “Waste Shipment Management”

  - Section 2.3.5.3, “Manifest”

  - Section 2.3.5.4, “Freight Status Reporting”

  - Section 2.3.5.5, “Certification of Origin of Goods”

  - Section 2.3.5.6, “Cross-Border Regulatory Reporting”

    - Section 2.3.5.6.1, “Cross-Border Regulatory Reporting Introduction”

    - Section 2.3.5.6.2, “Export Customs Declaration”

    - Section 2.3.5.6.3, “Transit Customs Declaration”

    - Section 2.3.5.6.4, “Import Customs Declaration”

    - Section 2.3.5.6.5, “Export Goods Certificate”

    - Section 2.3.5.6.6, “Goods Item Passport (Carnet)”

      - Section 2.3.5.6.6.1, “Goods Item Passport Introduction”

      - Section 2.3.5.6.6.2, “Goods Item Passport Approval”

      - Section 2.3.5.6.6.3, “Goods Item Passport Presentation”

      - Section 2.3.5.6.6.4, “Goods Item Passport Return”

      - Section 2.3.5.6.6.5, “Goods Item Passport Proof of Re-exportation”

  - Section 2.3.5.7, “Intermodal Freight Management”

    - Section 2.3.5.7.1, “Intermodal Freight Management Introduction”

    - Section 2.3.5.7.2, “Announcing Intermodal Transport Services”

    - Section 2.3.5.7.3, “Establishing a Transport Execution Plan”

    - Section 2.3.5.7.4, “Providing an Itinerary for a Transport Service”

    - Section 2.3.5.7.5, “Reporting Transport Means Progress Status”

    - Section 2.3.5.7.6, “Common Transportation Report”

- Section 2.3.6, “Return”

- Section 2.3.7, “Pay”

  - Section 2.3.7.1, “Billing”

    - Section 2.3.7.1.1, “Billing Introduction”

    - Section 2.3.7.1.2, “Billing Business Rules”

    - Section 2.3.7.1.3, “Traditional Billing”

      - Section 2.3.7.1.3.1, “Traditional Billing Introduction”

      - Section 2.3.7.1.3.2, “Billing Using Credit Notes”

      - Section 2.3.7.1.3.3, “Billing Using Debit Notes”

    - Section 2.3.7.1.4, “Self Billing”

      - Section 2.3.7.1.4.1, “Self Billing Introduction”

      - Section 2.3.7.1.4.2, “Self Billing Using Credit Notes”

      - Section 2.3.7.1.4.3, “Self Billing Using Self Billed Credit Notes”

    - Section 2.3.7.1.5, “Reminder for Payment”

  - Section 2.3.7.2, “Utility Billing”

  - Section 2.3.7.3, “Payment Notification”

  - Section 2.3.7.4, “Report State of Accounts”

- Section 2.3.8, “Business Directory and Agreements”

  - Section 2.3.8.1, “Directory Introduction”

  - Section 2.3.8.2, “Business Card”

  - Section 2.3.8.3, “Digital Capability”

  - Section 2.3.8.4, “Digital Agreement”

  - Section 2.3.8.5, “Business Information”

#### 2.3.2 Plan

##### 2.3.2.1 Collaborative Planning, Forecasting, and Replenishment

###### 2.3.2.1.1 Collaborative Planning, Forecasting, and Replenishment Introduction

Collaborative Planning, Forecasting, and Replenishment formalizes the processes by which two trading partners agree upon a joint plan to forecast and monitor sales through replenishment and to recognize and respond to any exceptions. In UBL, these processes also cover the planning process between other parties such as the manufacturer and the supplier.

There are three main actitivities in which the seller and the buyer engage in order to improve the overall performance of the supply chain:

1. Planning establishes the ground rules for the collaborative relationship. Trading partners exchange information about their corporate strategies and business plans in order to collaborate in the development of a joint business plan. The joint business plan identifies the significant events that affect supply and demand in the planning period, such as promotions, inventory policy changes, store openings/closings, and product introductions.

2. The Forecasting phase involves the development of a shared plan based on consumer demand. Estimation of consumer demand at the point of sale is called sales forecasting, and future product ordering based on the sales forecast is referred to as order forecast.

3. The Replenishment phase involves order generation, which transitions forecasts to firm demand, and order fulfilment, the process of producing, shipping, delivering, and stocking products for consumer purchase. Note: This phase may be implemented using other UBL processes.

A fourth collaborative activity, Analysis, involves monitoring the execution of activities for exceptions that are identified during the strategy and planning phase. Calculation of key performance metrics and plan adjustments for improving results also take place in Analysis.

While these collaboration activities are presented in logical order, most companies are involved in all of them at any moment in time. There is no predefined sequence of steps. Execution issues can impact strategy, and analysis can lead to adjustments in forecasts.

###### 2.3.2.1.2 Collaboration Agreement and Joint Business Planning

The Collaboration Arrangement is the preparatory step that defines the scope of the project, assigns roles, establishes procedures for data interchange, and issues identification and resolution. The following actions are performed through meetings and agreements:

- Receive and review background information from the sales organization or buyers

- Identify the product categories that ought to be included in the initial scope

- Define Collaboration Objectives

- Define specific metrics that reflect the objectives

- Determine the Event collaboration cycle

- Determine the times of the review meetings to discuss the results

- Document the data sources that are essential for a successful event collaboration process, and

- Document additional information that can be used in the event analysis.

Figure 5. Collaborative Planning, Forecasting, and Replenishment steps 1 and 2

The first step of the Collaborative Planning, Forecasting, and Replenishment process continues with the exchange of messages containing purchase conditions. (UBL does not standardize the format of such messages.) Afterwards, for determining the exception criteria that ought to be monitored and handled during the execution, Exception Criteria messages are exchanged. Exchange of revised Exception Criteria messages continues until the criteria are accepted by both sides.

Figure 6. Establish Collaborative Relationships

In Collaborative Planning, Forecasting, and Replenishment step 2 (the joint business planning phase) there are two messages that ought to be exchanged and agreed upon: Retail Event and Trade Item Location Profile. Revisions are exchanged until an agreement is achieved.

Figure 7. Create joint business plan

###### 2.3.2.1.3 Sales Forecast Generation and Exception Handling

Collaborative Planning, Forecasting, and Replenishment Step 2 helps the buyer and seller agree to the event details and calendar that meet their joint business and collaboration objectives. The objective of the event calendar is to ensure that events are planned to achieve the optimal results and to enable both parties to plan the execution of the event more accurately, from the preparation of advertising and displays to the production and delivery of the promotional stock.

In Collaborative Planning, Forecasting, and Replenishment step 3, the Sales Forecast is generated. Following Option A, Conventional Order Management, from the Collaborative Planning, Forecasting, and Replenishment implementation scenarios, the responsible partner for the generation of Sales Forecast is the Seller. Having Event Calendar information and the Delivery Plan already in their system, there are two more kinds of information that the Seller needs for an effective Sales Forecast: POS Data and DC Data. As shown in Figure 8, “Collaborative Planning, Forecasting, and Replenishment steps 3, 4, and 5” and Figure 9, “Create Sales Forecast”, both of these pieces of information are sent within a Product Activity message. This time there is no revision of the messages because these messages contain statistical and historical information collected previously by the Buyer.

Figure 8. Collaborative Planning, Forecasting, and Replenishment steps 3, 4, and 5

Based on the event details (dates, products, tactics, etc.) and using the available data source(s), a volume estimate/forecast is created for each product/store combination included in the scope of the event by the Seller. During the calculation, sales forecasting algorithms make use of the coefficients for causal factors based on the event history. Once the Sales Forecast suggestion is generated and sent to the Buyer, the Buyer revises it and might recommend some changes on the Forecast. The Forecast Revision message exchange continues until the forecast is agreed by both sides.

Figure 9. Create Sales Forecast

In many cases some time may elapse between Sales Forecast Generation and Order Generation. During this period, both sides observe changes to the conditions. If one of the partners detects an exception invalidating the exception criteria defined in Collaborative Planning, Forecasting, and Replenishment step 1, it sends an Exception Notification message to the other party. Exceptional circumstances that may be communicated between trading partners include deviations between planned impacts (either between buyer and seller, or between subsequent generations of planned impacts from the same trading partner), as well as deviations between planned and actual impacts. It ought to be noted that both sides might detect an exception, and therefore both sides ought to be capable of sending and receiving exceptions. Of course, for specific implementations if the collaborating parties want to change this behaviour, they can customize the process so that one partner will be responsible for the generation of the Exception Notifications.

Collaborative Planning, Forecasting, and Replenishment Step 4 is solely composed of the exception generation and receiving activity. Collaborative Planning, Forecasting, and Replenishment Step 5, on the other hand, is the resolution of the Exceptions.

Figure 10. Exception Handling

If there is no Exception Notification Message within the defined period, the process continues with Order Forecast Generation (Collaborative Planning, Forecasting, and Replenishment step 6).

###### 2.3.2.1.4 Order Forecast Generation and Exception Handling

In the supply chain process, it is important for sales forecasts that are created to be converted into the shipment (order) forecasts that can then be used in the production planning processes at the manufacturing locations and be incorporated into the ordering processes at the retailer. As shown in Figure 11, “Collaborative Planning, Forecasting, and Replenishment steps 6, 7, 8 and 9”, the responsibility for creating Order Forecast belongs to the Seller per Option A of the Collaborative Planning, Forecasting, and Replenishment implementation scenarios. Sales forecasts can be transformed into order forecasts by incorporating inventory status information, possible retail event plans, and current point of sale data. Therefore, Buyer sends the updated versions of the Retail Event, Inventory Status, and POS Data to the Seller.

Figure 11. Collaborative Planning, Forecasting, and Replenishment steps 6, 7, 8 and 9

After the Seller creates the Order Forecast using the obtained data, it sends the forecast to the Buyer. The Buyer checks the order forecast and sends back a revision document which includes update requests if necessary. The exchange of Order Forecast Revisions continues until there are no further update requests and the Order Forecast is agreed by both sides. Document types used in this process are Retail Event, Product Activity, Forecast, and Forecast Revision.

Figure 12. Create Order Forecast

After the Order Forecast is frozen, the process continues with the exception detection activity (Collaborative Planning, Forecasting, and Replenishment step 7). The exception detection process that follows Order Forecast is similar to process described earlier for exception detection following Sales Forecast (see Section 2.3.2.1.3, “Sales Forecast Generation and Exception Handling”). The only difference between the Order Forecast and Sales Forecast exceptions is the content of the exceptions.

Collaborative Planning, Forecasting, and Replenishment step 8, Order Forecast Exception Resolution activity, is handled similarly to Sales Forecast Exception Resolution.

Figure 13. Identifying and Resolving Exceptions for Order Forecast

Figure 14. Exception Monitor During Execution

If there is no exception during a period of time, the process continues with the Order Generation Step.

From the technical point of view, the exception monitoring and its resolution are exactly same as in the case of Order Forecast Exception Handling and Sales Forecast Exception Handling. The difference is in the content of the exceptions. The actual events and orders are compared to the Forecasted Sales and Forecasted Orders. When there is a situation violating the normal exception criteria, one of the sides might generate an exception notification. Besides comparison of forecasts, other information gathered during the execution is observed (e.g., event dates, POS data, etc.). The resolution of the exceptions is the same as the process carried out for Sales Forecast Exception resolution.

#### 2.3.3 Procurement

##### 2.3.3.1 Pre-award

###### 2.3.3.1.1 Pre-award Introduction

The procurement process is mainly performed by 3 roles: the buyer (ie contracting authority), the economic operator and in case of public procurement the publication body. It starts with the identification of the procurement need and ends with the final payment of a contract. The process is traditionally split between the pre-award phase and the post-award phase. The Contract signature is the event that creates the separation of the two phases as depicts the figure below:

Figure 15. Procurement Process

The most used pre-award processes in public procurement are schematized below. This schema reflects only some possible scenarios. In particular, several sourcing patterns are possible to find tenderers and receive tenders.

Figure 16. Pre-award Process

The tendering subprocess aims at buyers receiving tenders from potential suppliers generally starting from a publication of a notice and where the interest of economic operators drives the sourcing. A similar but less formally defined process than tendering is quotation (see Section 2.3.3.3, “Quotation”).

###### 2.3.3.1.2 Contract Information Preparation

The Tendering process optionally begins with publication of a Prior Information Notice prepared by a Contracting Authority to declare the intention to buy goods, services, or works during a specified period. The purpose of this step (if implemented) is to reduce preparation time when an actual Contract Notice is published (see Section 2.3.3.1.3, “Contract Information Notification”).

Figure 17. Contract Information Preparation

###### 2.3.3.1.3 Contract Information Notification

The process of Notification includes the publication by the Contracting Authority of a Contract Notice to announce the project to buy goods, services, or works. The details shown here are specific to the EU, which requires contracts over a certain amount (Harmonized contracts) to be published in the Official Journal of the EU. Other tendering contexts will differ in their publication requirements.

Figure 18. Contract Information Notification

###### 2.3.3.1.4 Invitation to Tender

In some procedures, the Contracting Authority invites economic operators to participate in a contest by sending them an invitation to tender using a Call For Tenders to define the procurement project to buy goods, services, or works during a specified period. The Call for Tenders may be sent jointly with an unstructured letter of invitation to tender.

Figure 19. Invitation to Tender

###### 2.3.3.1.5 Expression of Interest

An economic operator expresses interest in a tendering process by submitting an Expression of Interest. The Contracting Authority replies with an Expression of Interest Conformation to confirm the economic operator will receive any modification of the terms and documents related with that tendering process.

Figure 20. Expression of Interest

###### 2.3.3.1.6 Unsubscribe from Procedure

An economic operator requests to be unsubscribed from a tendering process by submitting an Unsubscribe From Procedure. The Contracting Authority replies with an Unsubscribe From Procedure Conformation to confirm the economic operator will be removed from the list of interested economic operators and will not receive any modification of the terms and documents related with that tendering process.

Figure 21. Unsubscribe from Procedure

###### 2.3.3.1.7 Submission of Qualification Information

The economic operator sends a Tenderer Qualification to the Contracting Authority to define its own situation or status relating to the requirements of the Contracting Authority for a specific tendering process. The Contracting Authority uses the Tenderer Qualification Response to notify the Tenderer of its admission to or exclusion from the tendering process.

Figure 22. Submission of Qualification Information

###### 2.3.3.1.8 Qualification Application

A contracting authority makes a description of the required qualification application request (In Europe: ESPD Request) to an Economic Operator (the tenderer). The Economic Operator (the tenderer) makes a description of the required application qualification response (In Europe: ESPD Response) to a Contracting Authority in order to become eligible to participate in the tendering process.

Figure 23. Qualification of Interest

###### 2.3.3.1.9 Enquiry

A requester sends a question to a responder using an Enquiry document and the responder replies with a Response document.

Figure 24. Enquiry

###### 2.3.3.1.10 Submission of Tenders

A Tenderer submits one or more Tender documents that offer a tender to the Contracting Authority for bid. The Contracting Authority responds with a Tender Receipt to notify the reception of the tender for a tendering process. The date and time of the Tender Receipt are significant, because tendering procedures usually have strict deadlines for tender presentation.

Figure 25. Submission of Tenders

###### 2.3.3.1.11 Tender Status

An economic operator asks about the details and the status of a tendering procedure. In reply to this enquiry, the contracting authority sends information to the economic operator describing the status of a tendering process.

Figure 26. Tender Status

###### 2.3.3.1.12 Tender Withdrawal

An economic operator requests to withdraw a submitted tender to the contracting authority. Based on that document, the contracting authority will remove the tender from the tendering system.

Figure 27. Tender Withdrawal

###### 2.3.3.1.13 Awarding of Tenders

The awarding of tenders takes place in three phases.

First, the Contracting Authority notifies each tenderer of its success or failure in winning the contract, using the Awarded Notification document to communicate the contract award to the winning tenderer or the Unawarded Notification document to communicate that the contract has been awarded to another tenderer.

Figure 28. Award Notification

Second, the Contracting Authority creates a Contract Award Notice to announce the awarding of a procurement project.

Figure 29. Award Publication

Finally, the Tenderer sends a Guarantee Certificate to notify the deposit of a guarantee.

Figure 30. Guarantee Deposit

###### 2.3.3.1.14 Contract

A process whereby the Initiating Party sends the Contract information (TenderContract) to the Responding Party describing the final contract after a procurement has been awarded in order to proceed with signing the Contract. The Initiating Party may be the Economic Operator or the Contracting Authority. A simple scenario is depicted below:

Figure 31. Tender Contract Pre-signing by Initiating Party

Depending on the financial rules of the Initiating Party, he may be obliged to sign last. This more complex scenario is depicted in the process below:

Figure 32. Tender Contract Post-signing by Initiating Party

Note that the exchange of electronic signatures depicted in the diagrams above is provided for the general understanding of the business choreography needed in the contract process. Use of electronic signatures is further detailed in Section 6.1, “UBL Digital Signatures Introduction (Non-Normative)”.

##### 2.3.3.2 Catalogue

###### 2.3.3.2.1 Catalogue Introduction

A Catalogue is a document with structured item information that is used for commercial purposes over a period of time. It can be established, updated and deleted with different types of catalogue transactions. Different meanings are given to the concept of catalogue depending on the user’s perspective. Thus, it can also be understood as:

- a tender: an electronic document which contains all references of items, services and prices available, proposed by the Catalogue Provider.

- a set of needs: list of needs of products or services that the Customer Party may purchase or contract.

- a requirement: list of selected items and corresponding prices supplied to a Catalogue Provider to be bought.

Document types associated with Catalogue processes are Catalogue Request, Application Response, Catalogue Item Specification Update, Catalogue Pricing Update, and Catalogue Deletion.

###### 2.3.3.2.2 Catalogue Business Rules

- Any conditions specified in the contract will overrule those stated in the common Catalogue.

- A Catalogue exchange will be between one Provider and one Receiver Party.

- A classification system may have its own set of properties.

- A classification scheme will have metadata.

- A Catalogue may have a validity period.

- A Catalogue ought to include item classifications.

- Classification schemes ought to include standard and specific properties.

- A Catalogue may refer to the lot (sub-section) of a contract.

- A Catalogue may explicitly specify the framework contract reference.

- A Catalogue may refer to a DPS contract number.

- When a Catalogue item is updated, the item will be replaced in the Catalogue.

- When a Catalogue item is updated, historical information about replaced or updated items must be available to reconcile with outstanding transactions.

- Prices may be updated independently of other Catalogue information.

- Catalogue distribution may be Provider or Receiver Party initiated.

- If a Receiver initiates a request for a Catalogue, they may request an entire Catalogue or only updates to either pricing or item specification details.

- Whether Receiver Party initiated or not, the decision to issue a new Catalogue or update an existing one will be at the discretion of the Provider Party.

- If an updated Catalogue is issued, then an action code will define the status of the items in the Catalogue.

###### 2.3.3.2.3 Catalogue Provision

###### 2.3.3.2.3.1 Catalogue Provision Introduction

Catalogue provision is the case where a Provider sends information regarding items available for purchase to a Receiver. This may be on request or unsolicited. Because they are only potential purchasers, a Receiver may never become a Customer Party.

###### 2.3.3.2.3.2 Create Catalogue

The process of creating a Catalogue is shown in the following diagram. The UBL document types involved are Catalogue, Catalogue Request, and Application Response.

Figure 33. Create Catalogue Process

###### 2.3.3.2.3.3 Update Catalogue Item Specification

The process of updating a Catalogue Item specification using Catalogue Item Specification Update is shown in the following diagram. The Catalogue Request and Application Response documents also participate.

Figure 34. Update Item Specification Process

###### 2.3.3.2.3.4 Update Catalogue Pricing

The process of updating Catalogue pricing is shown in the following diagram. The UBL document types involved are Catalogue, Catalogue Request, Catalogue Pricing Update, and Application Response.

Figure 35. Update Catalogue Pricing Process

###### 2.3.3.2.3.5 Delete Catalogue

Deletion of a Catalogue using Catalogue Deletion and Application Response is shown in the following diagram.

Figure 36. Delete Catalogue Process

###### 2.3.3.2.3.6 Punchout

Punch-out is a technological innovation whereby an Originator is able to directly access a Seller’s catalogue application from within the Seller’s own procurement application.

Figure 37. Punch-out Sourcing Process

The Originators leave (“punch out” from) their system and interact with the Seller’s catalogue to locate and order products, while the Seller’s procurement application transparently gathers pertinent information.

While conceptually the punch-out request is a form of Request For Quotation (see Section 2.3.3.3, “Quotation”), the exchange transaction is tightly coupled to the specific catalogue application and is considered outside the scope of UBL; thus, the only UBL document type involved in this process is Quotation.

##### 2.3.3.3 Quotation

Less formally defined than a tender (see Section 2.3.3.1, “Pre-award”), a quotation process is the case where the Originator asks for a Quotation via a Request For Quotation, as shown in the following diagram.

Figure 38. Quotation Process

##### 2.3.3.4 Ordering (post-award)

###### 2.3.3.4.1 Ordering Introduction

Ordering is the collaboration that creates a contractual obligation between the Seller Supplier Party and the Buyer Customer Party. Document types in these processes are Order, Order Response, Order Response Simple, Order Change, and Order Cancellation.

Figure 39. Ordering Process

###### 2.3.3.4.2 Ordering Business Rules

- The Order may specify allowance and charge instructions (e.g., freight, documentation, etc.) that identify the type of charge and who pays which charges. The Order may be placed “on account” against a trading credit account held by the Seller, or against a credit/debit card account, or against a direct debit agreement. The Order allows for an overall currency defining a default for all pricing and also a specific currency to be used for Invoicing. Within an Order, additional currencies may be specified both for individual item pricing and for any allowances or charges.

- Trade discount may be specified at the Order level. The Buyer may not know the trade discount, in which case it is not specified. This makes a detailed response from the Seller necessary; see Section 2.3.3.4.4, “Order Response”.

- The Order provides for multiple Order Lines.

- The Order may specify delivery terms, while the Order Line may provide instructions for delivery.

- The Buyer may indicate potential acceptable alternatives.

###### 2.3.3.4.3 Order Response Simple

The Order Response Simple is the means by which the Seller confirms receipt of the Order from the Buyer, indicating either commitment to fulfil without change or that the Order has been rejected.

###### 2.3.3.4.4 Order Response

Proposed changes to an Order by the Seller are accomplished through the full Order Response document.

The Order Response proposes to replace the original Order. It reflects the entire new state of an order transaction.

It also is the means by which the Seller confirms or supplies Order-related details to the Buyer that were not available to, or specified by, the Buyer at the time of ordering. These may include:

- Delivery date, offered by the Seller if not specifically requested by the Buyer

- Prices

- Discounts

- Charges

- Item Classification codes

The Seller may advise on replacements, substitutes, or other necessary changes using the Order Response.

###### 2.3.3.4.5 Order Change

The Buyer may change an established Order in two ways, subject to the legal contract or trading partner agreement: first, by sending an Order Change, or second, by sending an Order Cancellation (see Section 2.3.3.4.6, “Order Cancellation”) followed by a new, complete replacement Order.

An Order Change reflects the entire current state of an order transaction.

Buyers may initiate a change to a previously accepted order for various reasons, such as changing ordered items, quantity, delivery date, ship-to address, etc. Suppliers may accept or reject the Order Change using either Order Response or Order Response Simple.

###### 2.3.3.4.6 Order Cancellation

At any point in the process, a Buyer may cancel an established order transaction using the Order Cancellation document. Legal contracts, trading partner agreements, and business rules will determine the point at which an Order Cancellation will be ignored (e.g., at the point of manufacture or the initiation of the delivery process). Given the agreements and rules, an Order Cancellation may or may not be an automated business transaction. The terms and conditions of contract formation for business commitments will dictate which, if any, of these restrictions or guidelines will apply.

##### 2.3.3.5 Vendor Managed Inventory

###### 2.3.3.5.1 Vendor Managed Inventory Introduction

Vendor Managed Inventory (VMI) is a family of business processes in which the Retailer Customer Party for an item provides certain information to the Seller Supplier Party, and the Seller Supplier Party takes full responsibility for maintaining an agreed-upon inventory of the item, usually at the Retailer Customer Party’s point of sale. A third party logistics provider can also be involved to make sure that the Retailer Customer Party has the required level of inventory by adjusting the demand and supply gaps.

UBL supports three common models of VMI:

- Basic VMI

- Cyclic Replenishment Program (CRP)

- Replenishment on Customer Demand

These processes are described in more detail below. It ought to be noted that the particular semantics used here come from a large-scale UBL application developed for the Italian textile and clothing industry by ENEA, the Italian National Agency for New Technologies, Energy, and Sustainable Economic Development (see [eBiz-TCF]). These models are applicable to the implementation of vendor-managed relationships in a broad range of retail sectors, but for the sake of simplicity, and in keeping with the model application, the two principal parties in the VMI relationship (the Seller Supplier Party and the Retailer Customer Party) are referred to as “producer” and “retailer” in the descriptions that follow; more generically, they are vendor and customer.

###### 2.3.3.5.2 Basic Vendor Managed Inventory

###### 2.3.3.5.2.1 Basic Vendor Managed Inventory Introduction

In the classic VMI scenario, a shop-within-a-shop area or an entire store is managed completely by the producer. The logistic concept of VMI can be combined with consignment/concession as well as with charge-on-delivery as the financial model. Mostly it is combined with consignment.

###### 2.3.3.5.2.2 Initial Stocking of the Area by Producer

At the beginning of the cooperation, the area is stocked by the producer. The retailer receives item and delivery information and reports back the goods actually received. UBL document types used here are Catalogue, Despatch Advice, and Receipt Advice.

Figure 40. Initial Stocking of the Area by Producer

###### 2.3.3.5.2.3 Report of Sales and Inventory Movement

The sales and inventory movement information is transferred from the retailer to the producer using Product Activity.

Figure 41. Report of Sales and Inventory Movement

###### 2.3.3.5.2.4 Permanent Replenishment

Based on sales and inventory movement, the producer periodically makes a new delivery of goods accompanied by a Despatch Advice. If the delivery contains an item not previously stocked, an updated Catalogue is also sent so that the retailer can add the item to its product database. Upon delivery of the goods, the retailer reports back the items received using a Receipt Advice.

Figure 42. Permanent Replenishment

###### 2.3.3.5.2.5 Invoicing for Vendor Managed Inventory

A UBL Invoice is sent either on a delivery or a sales basis. In a charge-on-delivery model, the data for the invoice is prepared from the delivery, and in a consignment/concession model from the sales reports.

Figure 43. Invoicing for Vendor Managed Inventory

###### 2.3.3.5.2.6 Returns Initiated by the Producer

If sales do not meet expectations, items are reallocated by the producer. Because the producer cannot request a retailer to send the products to a competitor, the producer requests a return and handles the goods afterwards by itself. Document types used here are Instruction For Returns, Despatch Advice, and Receipt Advice.

Figure 44. Returns Initiated by the Producer

###### 2.3.3.5.2.7 Price Adjustments

In the event of a price change, an updated price list (in the form of a new Catalogue containing the change) is sent from producer to retailer.

Figure 45. Price Adjustments

###### 2.3.3.5.3 Cyclic Replenishment Program (CRP)

###### 2.3.3.5.3.1 Cyclic Replenishment Program (CRP) Introduction

A variant of VMI is the Cyclic Replenishment Program (CRP). In this process, the producer establishes a catalogue of NOS (Never Out of Stock) or seasonal NOS items, and the retailer chooses items for cyclic (weekly) replenishment. The logistic scenario can be combined with the charge-on-delivery as well as with a consignment/concession model. At the end of every sales period, a report of sales and inventory movement at all retail locations is sent to the producer.

CRP differs from the third VMI variant, Replenishment on Customer Demand (below), in that the producer cannot change the terms of the order.

###### 2.3.3.5.3.2 Transfer of Base Item Catalogue

The producer publishes the Catalogue of its NOS and seasonal NOS items to the retailer.

Figure 46. Transfer of Base Item Catalogue

###### 2.3.3.5.3.3 Initial Stocking of the Area by Retailer

At the beginning of the cooperative relationship—or the beginning of a season, if seasonal NOS products are the focus—the retailer orders its base stock, and the products are delivered. Order, Despatch Advice, and Receipt Advice are used in this process.

Figure 47. Initial Stocking of the Area by Retailer

###### 2.3.3.5.3.4 Periodic (Weekly) Replenishment

Each period (every week), the retailer’s system calculates the quantities needed for replenishment of the product area. From the result, an order is sent, and the producer responds with a direct delivery within 48 hours.

The replenishment process uses the same documents in the same order as the Initial Stocking process, so the duplicate diagram is omitted here; see Figure 47, “Initial Stocking of the Area by Retailer”. It needs to be remembered, however, that the two processes are taking place at different points in time, so their pre and post conditions will be different.

###### 2.3.3.5.3.5 Report of Sales and Inventory Movements

At the end of each sales day, a report of all sales and inventory movement at all retail locations is sent from the retailer to the producer using Product Activity.

Figure 48. Report of Sales and Inventory Movements

###### 2.3.3.5.3.6 Cyclic Replenishment Program Invoicing

A UBL Invoice is sent either on a delivery or a sales basis.

Figure 49. Invoicing for Cyclic Replenishment Program

###### 2.3.3.5.3.7 Synchronizing of Stock Information

Information about the actual stock is synchronised periodically (for example, every one to three months) using Inventory Report. This is combined at least once a year with a physical inventory.

The retailer sends an inventory report containing the information about the quantities currently in stock.

Figure 50. Synchronizing Stock Information

###### 2.3.3.5.3.8 Changes to the Item Catalogue

In the event of a change, either inside an item belonging to the CRP Catalogue or the relationship of an item to the CRP Catalogue, information about the change is sent to the retailer by sending an updated Catalogue document. Item change is indicated by an optional Action Code field in each changed Catalogue Line.

Figure 51. Changes to the Item Catalogue

###### 2.3.3.5.4 Replenishment On Customer Demand

###### 2.3.3.5.4.1 Replenishment On Customer Demand Introduction

Another variant of VMI is Replenishment On Customer Demand. In this process, the producer selects a subset of its products for a specific retailer and sends out the related article catalogue. Then the producer periodically sends information about the availability of items so that the retailer can form the best ordering plan. The replenishment periodically happens on retailer (customer) demand, and unlike the case with CRP (above), the producer is allowed to propose changes to the orders. Also, because of the requirement to update item availability information, an additional document type (Stock Availability Report) is added to the process.

The processes of sales and inventory reporting, invoicing, stock synchronization, and changing the catalogue are identical to the same processes in CRP. As with CRP, a report of sales and inventory movement at all retail locations is sent to the producer at the end of every sales period. Invoicing and logistics are normally charge-on-delivery but can also be based on a consignment/concession model.

###### 2.3.3.5.4.2 Transfer of Base Article Catalogue

The producer publishes a Catalogue of its products to the retailer. The catalogue can include basic articles, never-out-of-stock (NOS) articles, seasonal articles, short-season-collection articles, or seasonal NOS articles.

Figure 52. Transfer of Base Article Catalogue

###### 2.3.3.5.4.3 Periodic Transfer of Article Availability Information

The producer sends out information about availability of goods (quantities on hand, quantities incoming, articles out of stock) using a Stock Availability Report.

Figure 53. Periodic Transfer of Article Availability Information

###### 2.3.3.5.4.4 Initial Stocking of the Area by Producer and Retailer

At the beginning of the business cooperation—or perhaps at the beginning of a season, if seasonal NOS (never out of stock) products are the focus—the retailer orders its base stock and the products are delivered. Note that the producer is allowed to propose changes to the order (compare this figure with Figure 47, “Initial Stocking of the Area by Retailer”). Document types used in this process include Order, Order Change, Despatch Advice, and Receipt Advice.

Figure 54. Initial Stocking of the Area by Producer and Retailer

###### 2.3.3.5.4.5 Periodic Replenishment

Periodically, the retailer’s system calculates the quantities needed for replenishment of the area. From the result, an order is sent, and the producer responds with a direct delivery within 48 hours.

The replenishment process uses the same documents in the same order as the Initial Stocking process, so the duplicate diagram is omitted here; see Section 2.3.3.5.4.4, “Initial Stocking of the Area by Producer and Retailer”. It needs to be remembered, however, that the two processes are taking place at different points in time, so their pre and post conditions will be different.

###### 2.3.3.5.4.6 Report of Sales and Inventory Movement on Customer Demand

Sales and inventory movement information is transferred daily from the retailer to the producer.

The process for sales and inventory reporting is the same as in CRP (see Figure 48, “Report of Sales and Inventory Movements”).

###### 2.3.3.5.4.7 Invoicing for Replenishment On Customer Demand

An invoice is sent either on a delivery or a sales basis.

The invoice process for Replenishment On Customer Demand is the same as for CRP (see Figure 49, “Invoicing for Cyclic Replenishment Program”).

###### 2.3.3.5.4.8 Synchronizing Stock Information

Information about the actual stock is synchronised periodically (for example, every one to three months). Synchronization occurs at least once a year together with a physical inventory.

The stock synchronization process for Replenishment On Customer Demand is the same as in CRP (see Figure 50, “Synchronizing Stock Information”).

###### 2.3.3.5.4.9 Changes to the Article Catalogue

In the event of a change, either inside an item belonging to the Catalogue or the relationship of an item to the Catalogue, information about the change is sent to the retailer by sending an updated Catalogue document. Item change is indicated by an optional Action Code field in each changed Catalogue Line.

The process for changing the catalogue in Replenishment On Customer Demand is the same as in CRP (see Figure 51, “Changes to the Item Catalogue”).

#### 2.3.4 Make

The make processes include, production activities, packaging, staging product, and releasing. It also includes managing the production network, equipment and facilities, and transportation.

As these are traditionally internal organizational activities they are not included in this release. However we anticipate and welcome submissions from the industry for document types that may be utilized in these processes.

#### 2.3.5 Deliver

##### 2.3.5.1 Logistics

###### 2.3.5.1.1 Fulfilment Introduction

Fulfilment is the collaboration in which the goods or services are transferred from the Despatch Party to the Delivery Party.

Document types in these processes are Despatch Advice, Receipt Advice, Order Cancellation, Order Change, and Fulfilment Cancellation.

In common practice, fulfilment is either supported by a proactive Despatch Advice from the Despatch Party or by a reactive Receipt Advice from the Delivery Party.

If the Customer is not satisfied with the goods or services, they may then cancel or change the order (see Section 2.3.3.4, “Ordering (post-award)”). The Seller may have a fulfilment (or customer) service dealing with anomalies.

Cancellation of a Despatch Advice or Receipt Advice is accomplished using the Fulfilment Cancellation document (see Section 2.3.5.1.4, “Fulfilment Cancellation Business Rules”).

###### 2.3.5.1.2 Despatch Advice Business Rules

The Despatch Advice is sent by the Despatch Party to the Delivery Party to confirm shipment of items.

Figure 55. Fulfilment with Despatch Advice

The Despatch Advice provides for two situations:

1. Organization of the delivery set of items by Transport Handling Unit(s) so that the Receiver can check the Transport Handling Unit and then the contained items. Quantities of the same item on the same Order Line may be separated into different Transport Handling Units and hence appear on separate Despatch Lines within a Transport Handling Unit.

2. Organization of the delivery set of items by Despatch Line, annotated by the Transport Handling Unit in which they are placed, to facilitate checking against the Order. For convenience, any Order Line split over multiple Transport Handling Units will result in a Despatch Line for each Transport Handling Unit they are contained in.

Additionally, in either case, the Despatch Advice may advise:

- Full Despatch—advising the Recipient and/or Buyer that all the items on the order will be, or are being, delivered in one complete consignment on a given date.

- Partial Despatch—advising the Recipient and/or Buyer that the items on the order will be, or are being, partially delivered in a consignment on a given date.

Despatch Lines of the Despatch Advice do not have to correspond one-to-one with Order Lines, and are linked by a reference. The information structure of the Despatch Advice may result in multiple Despatch Lines from one Order Line. Equally, partial despatch may result in some Order Lines not being matched by any Line in a Despatch Advice.

Within a Despatch Advice, an Item may also indicate the Country of Origin and the Hazardous nature of the Item.

###### 2.3.5.1.3 Receipt Advice Business Rules

The Receipt Advice is sent by the Delivery Party to the Despatch Party to confirm receipt of items. It also is capable of reporting shortages or damaged items.

Figure 56. Fulfilment with Receipt Advice

The Receipt Advice provides for two situations. For ease of processing claimed receipt against claimed delivery, it needs to be organised in the same way as the corresponding Despatch Advice:

1. Indication of receipt by Transport Handling Unit(s) and contained Receipt Lines one-to-one with the Despatch Advice as detailed by the Seller party, or

2. Indication of receipt by Receipt Lines annotated by Transport Handling Unit, one-to-one with the Despatch Advice as detailed by the Seller party.

The Receipt Advice allows the Delivery Party to state any shortages from the claimed despatch quantity and to state any quantities rejected for a given reason.

###### 2.3.5.1.4 Fulfilment Cancellation Business Rules

In real life, the sender of a Despatch Advice or Receipt Advice sometimes needs to cancel the document after it has been sent. The Fulfilment Cancellation document is provided for this purpose.

For example, a Despatch Advice may later be cancelled by the Supplier when a problem with shipment prevents the delivery of goods, or the goods to be shipped are not available, or the order is cancelled; in these cases, the customer cancels receipt and adjusts the order accordingly (see Figure 55, “Fulfilment with Despatch Advice”).

Similarly, a Receipt Advice may later be cancelled by the customer (see Figure 56, “Fulfilment with Receipt Advice”) if the customer discovers an error in ordering (failure to follow formal contractual obligations, incorrect product identification, etc.) or a problem with a delivered item (malfunction, missing part, etc.). In this case, the billing and payment process may be put on hold.

##### 2.3.5.2 Transport

###### 2.3.5.2.1 International Freight Management Introduction

Freight management for domestic trade is typically accomplished using Despatch Advice and Receipt Advice (see Section 2.3.5.1, “Logistics”). The additional processes shown in Figure 57, “Initiate Freight Management Process” are engineered to support the ordering and management of logistical services for international trade.

With receipt of an order and acknowledgement by the Supplier Party that the goods are available and ready to be shipped, the Consignor or Consignee initiates the transportation arrangements. This includes booking the consignment with a Transport Service Provider such as the Freight Forwarder or Carrier and advising the Delivery Party of the arrangements as needed.

Document types in these processes are Forwarding Instructions, Packing List, Bill Of Lading, and Waybill. (Regarding the Transportation Status document type, see Section 2.3.5.4, “Freight Status Reporting”).

It ought to be noted that these processes involve the Consignee and Consignor and do not cover all the logistical processes required to physically move the goods or regulatory notifications such as Customs declarations.

### Note

For a discussion of the difference between consignment (consignor to consignee) and shipment (shipper to recipient), see Section 2.2.12, “Shipment vs. Consignment”.

For a discussion of the difference between transport and transportation, see Section 2.2.13, “Transport vs. Transportation”.

Figure 57. Initiate Freight Management Process

###### 2.3.5.2.2 Forwarding Instructions

Forwarding Instructions are normally used by any party who gives instructions for the transportation services required for a consignment of goods (the Transport Service Buyer) to any party who is contracted to provide the transportation services (called the Transport Service Provider). Forwarding Instructions may also be used by any party who requests a booking of shipment space to be made for the transportation services required for a consignment of goods to any party who will provide the underlying transportation services. The parties who issue this document are commonly referred to as the shipper, consignee, or consignor, while the parties who receive this document are forwarders, carriers, shipping agents, etc.

Forwarding Instructions may also be issued by a freight forwarder or shipping agent in their capacity as a Transport Service Buyer. This document may be used to arrange for the transportation:

- Of different types of goods or cargoes

- Whether containerized or non-containerized

- Through different modes of transport, and

- From any origin to any destination.

###### 2.3.5.2.3 Packing List

A Packing List is normally issued by the Consignor. It states the distribution of goods in individual packages.

###### 2.3.5.2.4 Bill of Lading

A Bill Of Lading is a transport document that is the evidence of a contractual agreement between the parties for the transportation service. The document evidences a contract of carriage by sea and the acceptance of responsibility for the goods by the carrier, by which the carrier undertakes to deliver the goods against surrender of the document. It is in common use for ocean or inland waterways modes of transport. The Bill of Lading (B/L) may serve as a document of title. A provision in the document that the goods are to be delivered to the order of a named person, or to order, or to bearer, constitutes such an undertaking.

A Bill of Lading is normally issued by the party who provides the physical transportation services (e.g., the maritime carrier) to the party who gives instructions for the transportation services (shipper, consignor, etc.) as a receipt for the cargo and sometimes of instructions, stating the details of the transportation, charges, and terms and conditions under which the transportation service is provided.

A Bill of Lading may also be issued by the party who acts as an agent for the carrier or other agents to the party who gives instructions for the transportation services (shipper, consignor, etc.) stating the details of the transportation, charges, and terms and conditions under which the transportation service is provided, but who does not provide the physical transportation service. In such case a Bill of Lading is signed “as agent”.

Much of the information contained in the Bill of Lading corresponds to the information on the Forwarding Instructions.

A freight forwarder, who can be either a Transport Service Provider or a Transport Service User according to different circumstances and depending on the contractual interlocutor, can assume responsibility for the shipment with regards to the shipper and issue Bills of Lading as a common carrier, a contractual carrier, or as a Non Vessel Operating Common Carrier (NVOCC). In such case, when the transportation is multimodal, it can provide a multimodal Bill of Lading.

###### 2.3.5.2.5 Waybill

A Waybill is a transport document issued by the party who undertakes to provide transportation services, or undertakes to arrange for their provision, to the party who gives instructions for the transportation services (shipper, consignor, etc.). It states the instructions for the beneficiary and may contain the details of the transportation, charges, and terms and conditions under which the transportation service is provided.

Unlike a Bill Of Lading, a Waybill is not negotiable and cannot be assigned to a third party (endorsement). It may be issued as a cargo receipt and is not required to be surrendered at the destination in order to pick up the cargo. This may simplify the documentation procedures between a Transport Service Buyer and a Transport Service Provider, but using this document in combination with international payments (e.g., documentary credits) is not advisable.

A freight forwarder may decide to issue a waybill to communicate consignment, transport, and conveyance information to third parties, be they shippers, subcontractors, transport operators, or authorities.

###### 2.3.5.2.6 Weight Statement

A Weight Statement is a transport document verifying the declared true gross mass of a packed container. Working with this knowledge avoids injury, container loss, damage to cargo, etc. Formally verifying the gross mass may be a condition for transport.

###### 2.3.5.2.7 Waste Shipment Management

Waste shipment management is a transport-related process used to control the movement of regulated waste, such as contaminated soil, which consists of a pre-transport notification phase (required for cross-border movements) and the execution of one or more waste movements for each consignment.

For cross-border movements, the competent authorities must be notified before transport may begin. The Waste Notification is used to provide the required information to the authorities. The notification is sent by a Sender Party, and the receiving authority reviews it, prepares a reply, and transmits an Application Response providing consent or rejection. All required consents must be received before transport can commence. The below diagram illustrates the notification and response process:

Figure 58. Waste Notification Process

Once any required consents have been obtained, or for domestic movements where no notification is required, a Waste Movement document is issued for each consignment of waste. The Waste Movement document may reference a related Waste Notification and accompanies the consignment throughout its transport. The Sender Party (typically the waste producer or a carrier acting on its behalf) prepares and issues the Waste Movement document and transmits it to the next party in the chain. The Receiver Party receives the document and may endorse it according to regulatory requirements. The diagram below illustrates the basic steps of issuing and receiving a Waste Movement document:

Figure 59. Waste Movement Process

##### 2.3.5.3 Manifest

Manifest is the process by which a sending logistics operator (such as a carrier or freight forwarder) communicates the quantity an nature of a load to receiving logistics operator (such as customs party, a ground handler or a terminal operator.

A Manifest document is often seen as the top level document for what a vessel, airplane, wagon or truck is carrying.

Figure 60. Manifest Process

##### 2.3.5.4 Freight Status Reporting

Freight Status Reporting is the process by which an actor in the transport service process (such as a Carrier, Freight Forwarder or Consignee) communicates the status of shipments currently under their management to another actor in the transport service process (such as a Freight Forwarder, Carrrier, Consignee or Consignor).

A Transportation Status document is provided either through a Transportation Status Request document or through an agreed status reporting procedure.

Figure 61. Freight Status Reporting Process

##### 2.3.5.5 Certification of Origin of Goods

When a Consignor exports certain goods they may be required to attest to the origin of the goods. A Certificate Of Origin is a document required by regulatory bodies declaring that goods in a particular international shipment are of a certain origin.

It is the responsibility of the Exporter to sign the Certificate of Origin Application document and submit it for authentication to a recognized authority (such as a local chamber of commerce or designated government agency or board). This party becomes the Endorser and will issue the Certificate of Origin document. To do this the Endorser must have access to other documents, such as the commercial Invoice and Bill Of Lading, in order to verify the Exporter’s claims that the goods originated in that country. In effect, the Certificate of Origin document is a dossier describing a set of related documents. After it is issued, the Certificate of Origin is sent to the Importer.

Figure 62. Certification of Origin of Goods Process

##### 2.3.5.6 Cross-Border Regulatory Reporting

###### 2.3.5.6.1 Cross-Border Regulatory Reporting Introduction

When doing cross border trade some additional documents are needed to facilitate the processes. This is due to regulatory requirements such as customs and the proof of the quality of the goods. These documents are required in their own secondary processes. This section describes these documents and the processes behind them.

###### 2.3.5.6.2 Export Customs Declaration

When goods pass borders within different customs regimes they need to be declared. Overall there are three cases declaring the goods to customs:

- When the goods are exported

- When the goods are under transit

- When the goods are imported

The export customs declarations process describes the process of declaring the goods for export. It is the exporter who is responsible for declaring the goods to the customs party even when they are not necessarily the one who fills out the paperwork. A declarant or a freight forwarder can act as his agent in this matter. When declaring goods, it is important to set the right tariff number and value for the goods.

An export declaration is drafted by the exporter or by his agent (a declarant) and issued to the customs party. If the customs party approves it he applies stamps and signature on it and sends it back to the exporter. If not he sends back an application response with a descriptions of the error(s) to the exporter.

Figure 63. Export Customs Declaration Process

###### 2.3.5.6.3 Transit Customs Declaration

The transit customs declarations process describes the process of declaring the goods for export that passes through another country. It is the transit exporter who is responsible for declaring the goods to the customs party even when they are not necessarily the one who fills out the paperwork. A declarant or a freight forwarder can act as his agent in this matter. When declaring goods, it is important to set the right tariff number and value for the goods.

An transit customs declaration is drafted by the importer or by his agent (a declarant) and issued to the customs party. If the customs party approves it he sends a positive application response back to the transit exporter. If not he sends back an application response with a descriptions of the error(s) to the transit exporter.

Figure 64. Transit Customs Declaration Process

###### 2.3.5.6.4 Import Customs Declaration

The import customs declarations process describes the process of declaring the goods for import. It is the importer who is responsible for declaring the goods to the customs party even when they are not necessarily the one who fills out the paperwork. A declarant or a freight forwarder can act as his agent in this matter. When declaring goods, it is important to set the right tariff number and value for the goods.

An import declaration is drafted by the importer or by his agent (a declarant) and issued to the customs party. If the customs party approves it he sends back a positive application response to the importer If not he sends back an application response with a descriptions of the error(s) to the importer

Figure 65. Import Customs Declaration Process

###### 2.3.5.6.5 Export Goods Certificate

In order to ensure the quality of the goods, a number of goods certificates are obliged to follow the goods during exportation. This can, for instance, be a certificate the states an animal was healthy before it was slaughtered and that a certain standard was kept during the production of the goods. This is normally guaranteed by a legal authority as stated in the trade agreement between the importing and exporting countries. In order to obtain a goods certificate, the exporter must fill out a that is approved and signed by the legal authority. But since the is following the goods, the actual management is performed by the warehouse party or exporter representative party who is keeping the goods before the export is taking place.

A is applied by the exporter, who describes the goods and how it is processed, but often it is sent to a legal authority by a representative party (often a warehouse or a terminal operator) where the goods are kept and bundled before export. This legal authority validates the s and apply stamps and signature if everything is acceptable. This happens just after the legal authority has the possibility to actually inspect the goods being exported. This way the trust is between the exporting legal authorities and the importing authority. If everything is not acceptable, the legal authority party sends his rejection as an application response.

Figure 66. Goods Certificate Process

###### 2.3.5.6.6 Goods Item Passport (Carnet)

###### 2.3.5.6.6.1 Goods Item Passport Introduction

When travelling with goods not for sale a temporary export declaration is needed. Several countries have signed the ATA Convention that, for two examples, allows goods to be presented at exhibitions, or for sportsmen to carry their equipment with them for international competitions without paying customs for all the countries they pass. The agreement is jointly administered by the World Customs Organisation (WCO) and the International Chamber of Commerce (ICC). It states that in case the goods are not returned in time, the ICC member from the exporting country is obliged to pay customs for the goods to the importing country. The exporting ICC member can then contact the local chamber in order to get funded by the exporting party. In terns of parties there are the following involved:

- The holder party. The party who gets the permissions to temporary export the goods. This is often the owner of the goods.

- The representative party. The party who is traveling with the goods.

- The issuer party. The chamber of commerce who is issuing the permission, the goods item passport, to travel with the goods.

- The exporting customs party. The customs party in the country where the goods is exported.

- The importing customs party. The customs party in the country where the goods is imported.

- The exporting guarantor party. The ICC member from the country where the goods is exported.

- The importing customs party. The ICC member from the country where the goods is imported

- ere are the following processes involved in the temporary export of goods

- Approval of the goods item passport

- Presenting the goods item passport, outgoing

- Presenting the goods item passport returning.

- Requesting proof of reexportation

###### 2.3.5.6.6.2 Goods Item Passport Approval

The approval of goods item passport process is initiated by the holder party who drafts a goods item passport to be authorized by his local chamber of commerce. When this is done, the holder sends it the exporting customs party for approval.

The holder party (the one who owns the goods) sends a drafted Goods Item Passport (ATA Carnet) to the issuer party (typically a chamber of commerce) who validates it and applies stamps and signatures on it, or declines it by sending an application response. Having an authorized goods item passport the holder then needs to get it approved by sending it to the exporting customs party. If it is valid he applies stamps and signatures on it and sends it back to the holder party. If not he sends his rejection as an application response.

Figure 67. Goods Item Passport Approval Process

###### 2.3.5.6.6.3 Goods Item Passport Presentation

The goods item presentation process describes the process of traveling with the goods. The representative party presents the goods and the passport for exporting customs party for exporting and the importing customs party for importing in order to document the travel of the goods.

The representative party (the one traveling with the goods) presents the goods in order to leave the country. The exporting customs party validates the goods item passport and marks it as exported by applying stamps and signatures if valid. If not valid, the exporting customs party sends an application response with the rejection. When entering the importing country the same process happens, now with a goods item passport with the status of “imported”.

Figure 68. Goods Item Passport Presentation Process

###### 2.3.5.6.6.4 Goods Item Passport Return

The goods item return process describes the representative party presenting the goods to the importing customs party and the exporting customs party in order to document that the goods is properly returned.

When returning the goods, the representative party presents the goods item passport at the border. If valid, the goods item passport is returned with the status “Re-exported”. Otherwise an application response is sent with the rejection. When re-entering the home country the representative party presents the re-exported passport at the border and gets it stamped and signed if it is valid. If not he receives an application response with the rejection.

Figure 69. Goods Item Passport Return Process

###### 2.3.5.6.6.5 Goods Item Passport Proof of Re-exportation

The Request for proof of reexportation process is the process the importing customs party to ensure that the goods actual has left the country. This involves a lot of internal processes to find the goods item passport that proves that the goods has been reexporting. In case is the goods item passport is not found a process starts to claim customs for the goods that has been temporary exported.

When a goods item passport has expired, the importing customs party can ask the importing guarantor party to initiate a seek for it by sending a Request For Proof Of Re-exportation to the exporting guarantor party for the country the goods has been temporary exported to. The exporting guarantor party then gets the status for the goods items passport by an internal process. This can be by asking the relevant issuing party. If the items have returned, the proof of re-exportation is sent to the importing guarantor party and passed further to the importing customs party.

Figure 70. Request For Proof Of Re-exportation Process

##### 2.3.5.7 Intermodal Freight Management

###### 2.3.5.7.1 Intermodal Freight Management Introduction

Intermodal transport implies the use of a combination of transport modes. Any support for the management of such chains has to support the modal change of cargo flows from one mode to another in order to create seamless sequences of transportation legs. Quite often the end legs are carried by road, but there are instances of short sea shipping, inland waterways, and rail being used as end legs.

The Intermodal Freight Management process differs from conventional international freight management in that it may involve multiple different transport modes. The focus is the multimodal transport chain as seen from the Transport User’s point of view. The Transport User needs information about all the possible transport services that can be used to build a complete transport chain. If the choices to be made by the Transport User or his agent are based upon the qualities of the transport services themselves, and not by which transport mode is used, the description of the transport services and the exchanges of information about the transport roles and services will be simple and common. Taking an intermodal approach requires a generalized view of the business processes, parties, and roles involved in the process.

The roles of the various Parties are defined as follows:

- The Transport User is the role representing anyone who needs to have cargo transported. The Transport User provides the Transport Service Provider with instructions and detailed information about the cargo to be transported.

- The Transport Service Provider is the role that ensures the transport of the cargo from the origin to the destination. This includes the management of the transport services and the operation of the transport means and handling equipment. A Transport Service Provider may also provide administrative services required for moving the cargo, such as cargo inspection.

- The Transportation Network Manager is the role that extracts all information available regarding the infrastructure related to planning and executing transport and makes this information available to the Transport Service Provider.

- The Transport Regulator is the role that receives all mandatory reporting (and checks if reporting has been carried out) in order to ensure that all transport services are completed according to existing rules and regulations.

It ought to be noted that one Party (person or organization) may take on different roles. For example, a freight forwarder is, on the one hand, a Transport Service Provider when its client is a Transport User. On the other hand, the freight forwarder is a Transport User when it acquires services from subcontractors to ensure that a transport service is carried out between origin and destination. In so doing, the freight forwarder can operate as agent, thus arranging a contractual relationship between the carrier and the shipper, or as principal, thus organizing the transportation chain by concluding contracts in its own name on behalf of the shipper(s).

The Intermodal Freight Management process takes place in three stages:

- Planning: In this stage, the Transport Users express their transport demand in a standard format, the Transport Service Description Request. Transport Service Providers plan their transport services and announce them to Transport Users using the Transport Service Description. This stage also covers the arrangement of transport services between Transport Users and Transport Service Providers, establishing Transport Execution Plans. Once a Transport Execution Plan has been established, a Goods Item Itinerary is sent from the Transport Service Provider to the Transport User. The Goods Item Itinerary provides additional information related to the complete transport service.

- Execution: In this stage, Transport Service Providers perform the physical transport of the cargo, and they exchange information related to the status of the transported cargo with the Transport Users using the Transportation Status document. Furthermore, in this stage Transport Service Providers exchange regulatory information with Transport Regulators as well as receive status regarding the transport infrastructure from Transportation Network Managers using the Transport Progress Status document.

- Completion: This stage facilitates the issuing of proofs of delivery, claims, and invoices between Transport Service Providers and Transport Users.

Figure 71. The Generic Freight Management Process

These three stages are detailed in the following diagram, which shows the part played in the Intermodal Freight Management process by the UBL document types Transport Service Description, Transport Service Description Request, Transport Execution Plan, Transport Execution Plan Request, Transportation Status, Transportation Status Request, Transport Progress Status, Transport Progress Status Request, Goods Item Itinerary, and Freight Invoice.

Figure 72. The Intermodal Freight Management Process

###### 2.3.5.7.2 Announcing Intermodal Transport Services

The Transport Service Description is used to publish information about a transport service. A Transport Service Description Request is used to request such information. A transport service can be the physical transport of cargo between an origin and a destination, and it can also refer to other transport-related services such as terminal services, warehousing services, handling services, or document handling services.

Figure 73. Transport Service Description

###### 2.3.5.7.3 Establishing a Transport Execution Plan

The Transport Execution Plan is a plan established between a Transport User and a Transport Service Provider in order to collaborate and document the details surrounding the provision of a required transport service. Depending on the nature of the transport service and the business relationship between the Transport User and the Transport Service Provider, the process of establishing a Transport Execution Plan may be carried out by means of multiple interactions between the two roles, from the initial request from the Transport User up to the final agreement of the Transport Execution Plan among the parties involved.

The following diagram (Figure 74, “Transport Execution Plan”) shows the message exchange involved in a basic scenario. A Transport Execution Plan Request is sent from the Transport User in order to request a transport service. If the Transport Service Provider accepts the transport service request, he responds with a confirmed Transport Execution Plan. If the Transport Service Provider does not accept the transport service request, he responds with a rejected Transport Execution Plan.

The handling of a Transport Service Request will in many cases depend upon whether or not there is a pre-established agreement between the Transport User and the Transport Service Provider. If there is a pre-established agreement, the Transport Service Request can typically be considered a call-off from the agreement between the two parties. (An established framework agreement or contract usually defines terms and conditions and a total capacity limit, e.g., 100 container spaces on a vessel per year. A call-off occurs when the Transport User places an order against this agreement, for example a booking of 10 of the 100 container spaces.) The Transport User can confirm the Transport Execution Plan Request without the need to make a careful examination of the Transport Execution Plan submitted by the Transport Service Provider. The Transport User then sends a Transport Execution Plan with a status code indicating confirmation. Assuming acceptance by the Transport Service Provider, this scenario is considered a two-step choreography.

If a pre-established agreement does not exist (e.g., spot market services), the Transport User issues a Transport Execution Plan Request with a status code indicating that the Transport Execution Plan is not yet confirmed. The Transport User only confirms the Transport Execution Plan after a careful analysis of what has been submitted by the Transport Service Provider. This scenario is a three-step choreography where the Transport User confirms the Transport Execution Plan content in his second or subsequent response to the Transport Service Provider.

Updates to the Transport Execution Plan may be issued by either the Transport User or the Transport Service Provider. If the Transport User wants to update an existing Transport Execution Plan, a new instance of a Transport Execution Plan will be issued with reference to the original Transport Execution Plan. Similarly, if the Transport Service Provider wants to update an existing Transport Execution Plan, a new Transport Execution Plan replaces the original Transport Execution Plan with a reference to the original one. In either case, the Transport Execution Plan will include a document status code indicating that this is an update of the original content.

The cancellation of a Transport Execution Plan may be requested by either the Transport Service Provider or the Transport User. In either case, the Transport Execution Plan is sent with a document status code indicating that the Transport Execution Plan ought to be cancelled. For the cancellation to be effective, it must be accepted by the party receiving the cancellation request. Acceptance is signified by sending back a Transport Execution Plan with a status code indicating confirmation; rejection of the cancellation is signified by issuing a Transport Execution Plan with a status code indicating rejection.

Upon completion of the transport service covered by the Transport Execution Plan, a final Transport Execution Plan document is sent from the Transport Service Provider to the Transport User that includes a document status code indicating that the transport service is completed.

Figure 74. Transport Execution Plan

###### 2.3.5.7.4 Providing an Itinerary for a Transport Service

The Goods Item Itinerary specifies the route and time schedule for one or more transported items and is issued from the Transport Service Provider to the Transport User. The Goods Item Itinerary is initially issued from the Transport Service Provider to the Transport User after a Transport Execution Plan is confirmed by both parties. It may contain one or more transport segments with different Transport Execution Plans employing different Transport Service Providers. One transport service (one Transport Execution Plan) may cover more than one segment (leg).

In addition to providing an overview of the initial route and time schedule, the Goods Item Itinerary is used to document progress by recording new estimated times for departure or arrival and actual departure and arrival times. So when updates to the initial transport execution schedule occur, a new version of the Goods Item Itinerary is issued to the Transport User. A Goods Item Itinerary document thus contains information that may be used for analyzing the performance (in time) of transport services and for tracing the progress of cargo in transit if such analysis is required.

Figure 75. Goods Item Itinerary

###### 2.3.5.7.5 Reporting Transport Means Progress Status

The Transport Progress Status collects and reports information about the status of the transport means. The Transport Service Provider issues a Transport Progress Status Request to ask the Transportation Network Manager for status information related to a specific transport vehicle, using the vehicle identification number.

The Transportation Network Manager then provides information about the location and time schedule status to the Transport Service Provider. During a transport service, there might be a number of information providers taking on the Transportation Network Manager role, offering Transport Progress Statuses to the Transport Service Provider.

The most typical use of Transport Progress Status is to ask assistance from the Transportation Network Manager when estimated times of arrival are established. Reporting on the status of the goods themselves is covered by the Freight Status Reporting process (see Section 2.3.5.4, “Freight Status Reporting”).

Figure 76. Transport Progress Status

###### 2.3.5.7.6 Common Transportation Report

The Common Transportation Report collects and reports information about events and status of a transport means. It can be used for requirements regarding border crossing, ship to shore, or shore to ship reporting. It is meant to be mapped to numerous single window declarations and for other reporting to authorities.

Figure 77. Common Transportation Report

#### 2.3.6 Return

Organizations may be required to handle the return of containers, packaging, or defective product. The return involves the management of business rules, return inventory, assets, transportation, and regulatory requirements.

Currently there are no specific UBL digital business documents associated with these processes. However we anticipate and welcome submissions from the industry for document types that may be utilized in these processes.

#### 2.3.7 Pay

##### 2.3.7.1 Billing

###### 2.3.7.1.1 Billing Introduction

In the Billing process, a request is made for payment for goods or services that have been ordered, received, or consumed. In practice, there are several ways in which goods or services may be billed.

Document types in these processes are Invoice, Credit Note, Debit Note, Invoice Status Response, Invoice Status Request, and Application Response.

For UBL we assume the following billing methods:

1. Traditional Billing

   1. Using Credit Note

   2. Using Debit Note

2. Self Billing (also known as billing on receipt)

   1. Using Credit Note

   2. Using Self Billed Credit Note

### Note

Starting with UBL 2.5, the role of the Debit Note document type has been revised. Historically, UBL defined a Debit Note as a document issued by the customer to notify the supplier of a debit (e.g., for discrepancies or retroactive pricing). However, this use case has seen little to no adoption in practice. In contrast, widespread industry use reflects the Debit Note as a supplier-issued document, functionally mirroring the Credit Note but used to increase the amount of an already issued invoice. UBL 2.5 aligns with this real-world usage to ensure consistency with how billing documents are used in practice.

###### 2.3.7.1.2 Billing Business Rules

An Invoice defines the financial consequences of a business transaction. The Invoice is normally issued on the basis of one despatch event triggering one Invoice. An Invoice may also be issued for pre-payment on a whole or partial basis. The possibilities are:

- Prepayment invoice (payment expected)

- Proforma invoice (pre Despatch Advice, payment not expected)

- Normal Invoice, on despatch for despatched items

- Invoice after return of Receipt Advice

The Invoice only contains the information that is necessary for invoicing purposes. It does not reiterate any information already established in the Order, Order Change, Order Response, Despatch Advice, or Receipt Advice that is not necessary when invoicing. If necessary, the Invoice refers to the Order, Despatch Advice, or Receipt Advice by a Reference for those documents.

The Invoice allows for compound taxes, the sequence of calculation being implied by the sequence of information repeated in the data stream (e.g., Energy tax, with VAT—Value Added Tax—superimposed).

Charges may be specified either as a lump sum or by percentage applied to the whole Invoice value prior to calculation of taxes. Such charges cover:

- Packaging

- Delivery/postage

- Freight

- Documentation

Each Invoice Line refers to any related Order Line(s) and may also refer to the Despatch Line and/or Receipt Line.

###### 2.3.7.1.3 Traditional Billing

###### 2.3.7.1.3.1 Traditional Billing Introduction

Traditional billing is where the supplier invoices the customer when the goods are delivered or the services are provided. In this case, the invoice may be created at the time of despatch or when the Delivery Party acknowledges that the goods have been received (using a Receipt Advice).

When there are discrepancies between the Despatch Advice, Receipt Advice, or Invoice and the goods actually received, or the goods are rejected for quality reasons, the customer may send an Invoice Status Response to the supplier. The supplier may then issue a Credit Note, a Debit Note, or another Invoice as required.

A Credit Note or Debit Note may also be issued in the case of retrospective price change.

Credit Notes or Debit Notes may be also issued after the Billing collaboration (as part of the Payment collaboration).

###### 2.3.7.1.3.2 Billing Using Credit Notes

Billing using Credit Note is shown in the following diagram.

Figure 78. Billing with Credit Note Process

When using Credit Notes, the Supplier (in their Accounting role) is responsible for specifying the tax requirements.

###### 2.3.7.1.3.3 Billing Using Debit Notes

Billing using Debit Note is shown in the following diagram.

Figure 79. Billing with Debit Note Process

When using Debit Notes, the Supplier (in their Accounting role) is responsible for specifying the tax requirements.

###### 2.3.7.1.4 Self Billing

###### 2.3.7.1.4.1 Self Billing Introduction

A self billing process is where a Customer “invoices” itself, in the name and on behalf of the Supplier, and provides the Supplier with a copy of the self billed invoice.

###### 2.3.7.1.4.2 Self Billing Using Credit Notes

Self Billing using Credit Note is shown in the following diagram.

Figure 80. Self Billing with Credit Note Process

If the Supplier finds that the Self Billed Invoice is incorrect, e.g., wrong quantities or wrong prices, or if the goods have not been invoiced at all, it may send an Application Response or a Credit Note to the Customer. The customer may then verify whether the adjustment is acceptable or not and consequently issue another Self Billed Invoice or a Self Billed Credit Note.

###### 2.3.7.1.4.3 Self Billing Using Self Billed Credit Notes

Self Billing using Self Billed Credit Note is shown in the following diagram.

Figure 81. Self Billing with Self Billed Credit Note Process

When using Self Billed Credit Notes, the Customer is raising the Self Billed Credit Note in the name and on behalf of the Supplier. Therefore the Supplier and the Customer are still both responsible for providing taxation information.

###### 2.3.7.1.5 Reminder for Payment

A Reminder may be used to notify the Customer of accounts due to be paid.

Figure 82. Reminder for Payment Process

##### 2.3.7.2 Utility Billing

This process defines the billing process for invoicing between suppliers of utilities (including electricity, gas, water, and telephony services) and private and public customers.

The Utility Statement supplements an Invoice with information about consumption of the utility’s services. An invoice may refer to one or more utility statements, and a utility statement may refer to one or more invoices.

Figure 83. Utility Billing Process

##### 2.3.7.3 Payment Notification

In the payment notification process, the Payee (who is most often the Accounting Customer) is notified of any funds transferred, against the account of the Accounting Supplier, using a Remittance Advice document.

Figure 84. Payment Notification Process

##### 2.3.7.4 Report State of Accounts

A Statement of account may be used to notify the Accounting Customer of the status of the billing.

Figure 85. Statement Process

#### 2.3.8 Business Directory and Agreements

##### 2.3.8.1 Directory Introduction

One of the increasing challenges with undertaking digital business is discovering and recording the specific operational and technical capabilities of trading organizations to reciprocate in digital trading agreements that are interoperable. As the market relies less and less on single service provider hubs and moves to a federated 4-corner model for document exchanges, this information becomes distributed across various parties.

##### 2.3.8.2 Business Card

The Business Card allows a standardized way of presenting general trading capability information as well as company’s main communication channels and references to company presentations such as flyers and brochures.

Figure 86. Business card process

##### 2.3.8.3 Digital Capability

The Digital Capability allows a standardized way of presenting digital trading capability ratification in a form that can be published or exchanged with trading partners. The digital capabilities of business partners are the source for building a Digital Agreement.

Figure 87. Digital capability process

The data structures have been derived from the work of ebXML CPPA (Collaboration Protocol Profile and Agreement), OpenPEPPOL and other directory services initiatives.

##### 2.3.8.4 Digital Agreement

Bi-lateral and multi-lateral trading partner agreements can make use of the standardized Digital Agreement document used to support business parties agreeing on a set of digital processes, terms and conditions.

Figure 88. Bi-lateral TPA process

##### 2.3.8.5 Business Information

The Business Information document serves two purposes:

1. It supports requesting the registration of a business to a registration authority.

2. It support the notification of this registration to a publication authority.

Figure 89. Business Information Registration and Notification processes

### 2.4 Party Roles

In the UBL supply chain processes, two main actors, Customer and Supplier, represent the key organizations or people involved in the processes. Each of these actors may play various roles. Some processes may also involve supplementary roles that may be provided by different parties.

The actual role undertaken is dependent on the context of use. For example, the Despatch Party and Delivery Party as applied to the Procurement process may differ in the Transportation process. In the Transportation Process, two of the main roles are the Transport User and the Transport Service Provider. The Transport User is the role responsible for purchasing a transport service, while the Transport Service Provider is the role responsible for selling and executing a transport service. Both the Customer and the Supplier may be responsible for purchasing and following up the transport of goods, hence both these actors may undertake the Transport User role. In other words, the role of a specific actor depends on the specific circumstances.

The following table contains a description of the typical roles for the actor known as Party. Note that some roles require an extension of the information entities required. In UBL, the following are roles that extend the Party structure: Customer Party, Supplier Party, Contracting Party, Endorser Party, and Qualifying Party.

Table 1. Party Roles

Actor | Role | Description | Example | Synonyms | Sends | Receives
--- | --- | --- | --- | --- | --- | ---
Customer Party | Originator | The party that had the original demand for the goods and/or services and therefore initiated the procurement transaction. The Originator participates in pre-ordering activity either through Request for Quotation and Quotation or by receiving a Quotation as a response to a punch-out transaction on a marketplace or Seller’s website. If the Originator subsequently places an Order, the Originator adopts the role of Buyer. The Originator is typically the contact point for queries regarding the original requirement and may be referred to in an Order Change, Order Cancellation, or Order Response. | If an employee requests a computer, the employing company may become the Buyer, but the employee is the Originator. They need to receive information about the order. |  | Request for Quotation | Quotation
Customer Party | Buyer | The party that purchases the goods or services on behalf of the Originator. The Buyer may be referred to in Order Response, Despatch Advice, Fulfilment Cancellation, Invoice, Self Billed Invoice, Credit Note, and Statement. | A company may delegate the task of purchasing to a specialized group to consolidate orders and gain greater discounts. | Order Point | Order, Order Change, Order Cancellation, Fulfilment Cancellation | Order Response, Fulfilment Cancellation
Customer Party | Delivery | The party to whom goods should be delivered. The Delivery Party may be the same as the Originator. The Delivery Party must be referred to at line item level in Request for Quotation, Quotation, Order, Order Change, Order Cancellation, and Order Response. The Delivery Party may be referred to at line level in Invoice, Self Billed Invoice, Credit Note, and Debit Note. The Delivery Party may be stipulated in a transport contract. | If a municipality buys a wheelchair for a citizen, the wheelchair must be delivered to the citizen (the Delivery Party). In such cases the citizen may be notified before delivery of the wheelchair. | Delivery Point, Destination Party, Receiver, Recipient | Receipt Advice | Despatch Advice
Customer Party | Accounting Customer | The party responsible for making settlement relating to a purchase and resolving billing issues using a Debit Note. The Accounting Customer must be referred to in an Order and may be referred to in an Order Response. In a Self Billing scenario, the Accounting Customer is responsible for calculating and issuing tax invoices. | If a kindergarten buys some toys they may be the Originator, Buyer, and Delivery Party, but the municipality may play the role of Accounting Customer—they are going to pay for it. | Invoice, Accounts Payable, Debtor | In a traditional Billing scenario: Debit Note, Application Response, and Remittance Advice In a Self Billing scenario: Self Billed Invoice, Self Billed Credit Note, and Remittance Advice | In a traditional Billing scenario: Invoice, Credit Note, and Statement; in a Self Billing scenario: Credit Note, Application Response, and Statement
Supplier Party | Seller | The party responsible for handling Originator and Buyer services. The Seller party is legally responsible for providing the goods to the Buyer. The Seller party receives and quotes against Request for Quotation documents and may provide information to the Buyer’s requisitioning process through Catalogue s and Quotation s. | The organization that sells wheelchairs to municipalities. | Sales Point, Provider, Customer Manager | Quotation, Order Response, Order Response Simple, Catalogue, Catalogue Deletion, Catalogue Item Specification Update, Catalogue Pricing Update, Fulfilment Cancellation | Request for Quotation, Order, Order Change, Order Cancellation, Catalogue Request, Fulfilment Cancellation
Supplier Party | Despatch | The party where goods are to be collected from. The Despatch Party may be stipulated in a transport contract. | The wheelchair Supplier may store chairs at a local warehouse. The warehouse will actually despatch the chair to the Delivery Party. The local warehouse is then the Despatch Party. | Despatch Point, Shipper, Sender | Despatch Advice | Receipt Advice
Supplier Party | Accounting Supplier | The party who claims the payment and is responsible for resolving billing issues and arranging settlement. | There are cases where the Accounting Supplier is not the Seller party. For example, factoring, where the invoicing is outsourced to another company. | Accounts Receivable, Invoice Issuer, Creditor | In a traditional Billing scenario: Invoice, Credit Note, and Statement; in a Self Billing scenario: Credit Note, Application Response, and Statement | In a traditional Billing scenario: Debit Note, Account Response, and Remittance Advice In a Self Billing scenario: Self Billed Invoice, Self Billed Credit Note, and Remittance Advice
Supplier Party | Payee | The party to whom the Invoice is paid. | The Accounting Supplier may not be the party to be paid due to changes in the organization, e.g., a company merger. | Accounts Receivable, Creditor |  | Remittance Advice
Customer Party | Contractor | The party responsible for the contract to which the Catalogue relates. | An organization has a central office for maintaining catalogues of approved items for purchase. | Central Catalogue Party, Purchasing Manager | Catalogue Request | Catalogue, Catalogue Deletion, Catalogue Item Specification Update, Catalogue Pricing Update
Party | Provider | The party responsible for the integrity of the information provided about an item. | The manufacturer may publish and maintain the data sheets about a product. |  | Catalogue, Catalogue Deletion, Catalogue Item Specification Update, Catalogue Pricing Update |
Party | Receiver | A general role, describing the receiver of a document. For a catalogue, this can be the customer, a potential customer, or a third party exposing the document, for instance, an interim broker. | A marketplace may receive an Application Response. |  |  | Catalogue, Catalogue Deletion, Catalogue Item Specification Update, Catalogue Pricing Update, Application Response
Party | Sender | The party sending a document. | A marketplace may send an Application Response. |  | Application Response |
Customer Party | Contracting Authority | The party responsible for making the contract relating to a tender ending up with a purchase. | If a kindergarten buys a lot of toys they may be a Contracting Authority in a Public Tender. | Customer, Debtor | Expression Of Interest Response, Qualification Application Request, Tender Contract, Tender Status, Unsubscribe From Procedure Response | Expression Of Interest Request, Qualification Application Response, and Tender Status Request, Tender Withdrawal, Unsubscribe From Procedure Request
Supplier Party | Tenderer | The party responsible for handling Originator and Buyer services. The Tenderer party is legally responsible for providing the goods to the Contracting Authority. The Tenderer party receives the Expression Of Interest Response. | The organization that sells wheelchairs to municipalities. | Seller, Provider, Economic Operator | Expression Of Interest Request, Qualification Application Response, Tender Status Request, Tender Withdrawal, Unsubscribe From Procedure Request | Expression Of Interest Response, Qualification Application Request, Tender Contract, Tender Status, Unsubscribe From Procedure Response
Party | Consignor | The party consigning the goods as stipulated in the transport contract. A Buyer, Delivery, Seller, or Despatcher Party may also play the role of Consignor. Also known as the Transport User. The Consignor may be stipulated in a transport contract. | The wheelchair Supplier may source from a local warehouse. The Freight Forwarder will collect the chair from the local warehouse, which is thus the Consignor. In this case, the warehouse also plays the role of Despatch Party to the Freight Forwarder. | Despatch Point, Shipper, Sender, Transport User | Forwarding Instructions, Packing List | Bill of Lading, Waybill, Freight Invoice, Transportation Status
Party | Consignee | The party receiving a consignment of goods as stipulated in the transport contract. | The party taking responsibility for the receipt of the consignment covering the wheelchair. | Delivery Point, Transport Service Buyer | Forwarding Instructions, Freight Invoice | Bill of Lading, Waybill, Freight Invoice, Transportation Status
Party | Freight Forwarder | The party arranging the carriage of goods, including connected services and/or associated formalities, on behalf of a Consignor or Consignee. Also known as the Transport Service Provider. The Freight Forwarder may also be the Carrier. The Freight Forwarder may create an Invoice and bill to the Transport Service Buyer for the transportation service provided. | The Consignor may have a contract with this Freight Forwarder, which is a Transport Services Provider, to arrange all their transport needs. | Shipping Agent, Broker, Courier, Transport Service Provider | Forwarding Instructions, Freight Invoice, Transportation Status | Bill of Lading, Waybill, Packing List
Party | Carrier | The party providing physical transport services. | The Freight Forwarder may engage an airline company to deliver the wheelchair. The airline is then the Carrier and delivers the chair to the Delivery Party. | Freight Haulier, Shipper, Ships Agent, Shipping Company, Airline, Rail Operator, Road Haulier | Bill of Lading, Waybill | Forwarding Instructions
Party | Exporter | The party who makes regulatory export declarations, or on whose behalf regulatory export declarations are made, and who is the owner of the goods or has similar right of disposal over them at the time when the declaration is accepted. | The wheelchair Supplier has to apply for a Certificate of Origin in order to sell the chairs overseas. | Seller, Consignor | Certificate of Origin | Application Response
Party | Endorser | The party appointed by the Government of a country who has the right to certify a Certificate of Origin. This endorsement restricts goods imported from certain countries for political or other reasons. | The Government agency validates all the information provided by Exporter for Certificate of Origin approval. | Authorized Organization, Embassy | Certificate of Origin, Application Response | Certificate of Origin
Party | Importer | The party who makes, or on whose behalf an agent or other authorized person makes, an import declaration. This may include a person who has possession of the goods or to whom the goods are consigned. | A specialized group in a company consolidates the purchase request and handles the receiving of goods. | Order Point, Delivery Party, Buyer, Customer, Consignee | Import Customs Declaration | Certificate of Origin
Party | Transport User | The Transport User is the role representing anyone who has a demand for transport services, books transport services, and follows up the execution of such services. | The manufacturer has to order transport of products from a carrier or freight forwarder (Transport Service Provider). | Transport Buyer, Logistics Service Client | Transport Execution Plan Request, Transportation Status Request, Transport Service Description Request | Transport Execution Plan, Transportation Status, Transport Service Description, Goods Item Itinerary
Party | Transport Service Provider | The Transport Service Provider is the role that plans, markets and performs transport services. | The carrier or freight forwarder who arranges for transport services on behalf of a manufacturer (Transport User) | Transport Provider, Transport Seller, Logistics Service Provider | Transport Execution Plan, Transportation Status, Transport Service Description, Transport Progress Status Request, Goods Item Itinerary | Transport Execution Plan Request, Transportation Status Request, Transport Service Description Request, Transport Progress Status
Party | Transportation Network Manager | The Transportation Network Manager is the role that extracts all information available regarding the infrastructure (static/dynamic) related to planning and executing transport and makes this information available to the Transport Service Provider. During a transport service, or even during a single leg, the Transport Service Provider may rely on information from several Transportation Network Managers. | The Traffic Information Centre (TIC) issuing information related to road work and/or traffic conditions as a service to a Transport Service Provider | Road Administration, Traffic Information Centre, Coastal Administration, Harbor Master, Railway Administration, Infrastructure Manager | Transport Progress Status | Transport Progress Status Request
Party | Governor | The Governor is the role that governs an agreement or contract. | A legal entity who creates and maintain an agreement. |  |  |
Party | Participant | The Participant is the role agreeing on a set of digital processes, terms and conditions to ensure interoperability within a business network. A Buyer, Seller, Accounting Customer, Accounting Supplier, Service Provider Party may also play the role of Participant. A Participant in the role of a Business Party communicates its digital capabilities using a Digital Capability document. | A Service Provider agreeing on multi-lateral trading partner agreement governed by an e-Procurement network. |  | Digital Agreement, Application Response | Digital Agreement, Application Response
Party | Business | The Business Party is a general role that may be played by any other Party doing business according to a set of business and digital capabilities. A Business Party communicates its business information and capabilities to other parties using a Business Card. A Business Party communicates its digital capabilities to other parties using a Digital Capability document. | A Business Party supports the procurement business process according to a specific profile governed by an UBL user group. | Trading Partner, Service Provider, Economic Operator, Contracting Authority, Participant | Business Card, Digital Capability, Application Response | Business Card, Digital Capability, Application Response
Party | Weighing | The Weighing Party is a role played by weighing stations, shippers, terminal operators and possibly other parties executing a weight measurement including verified gross mass measurements. | A Business Party supports the procurement business process according to a specific profile governed by an UBL user group. | Weighing Station, Weighing Provider | Weight Statement | Application Response
Party | Responsible | The party responsible for signing the VGM on behalf of the Shipper. | A Weighing Party playing the role of a Responsible who signs a VGM. |  |  |
Party | Exporter | The party who initiates the export of goods and is authorized to perform the export. The exporter is often the owner of the goods being exported. | A slaughterhouse is the owner of the goods being exported, but not necessarily the party who presents the Goods Certificate for exportation. |  | Goods Certificate Export Customs Declaration |
Party | Importer | The party who initiates the import of goods and is authorized to perform the import. | A grocery store importing meat |  | Goods Certificate | Goods Certificate Application Response
Party | Preparation | An authenticated party who performs the import or export in service to the importer or exporter. This is often a terminal operator who stores the goods before it is being exported or imported. | A cold store that is keeping the meat before export. | Terminal Operator | Goods Certificate Application Response | Goods Certificate Application Response
Party | Certification | A legal authority who certifies the goods being imported or exported and signs the Goods Certificate. | A food standards agency |  |  | Goods Certificate
Party | Issuer | The organisation authorized by the legal authority party to issue the Goods Item Passport. | A chamber of commerce |  |  | Goods Item Passport
Party | Importing Guarantor | The party fiscal responsible for customs of the goods that has been temporary imported. | A chamber of commerce, member of the ICC |  | Proof Of Reexportation Request | Proof Of Reexportation Application Response
Party | Exporting Guarantor | The party fiscal responsible for customs of the goods that has been temporary exported. | A chamber of commerce, member of the ICC |  | Proof Of Reexportation Application Response | Proof Of Reexportation Request
Party | Holder | The holder of the Goods Item Passport, often the temporary exporter of the goods and the one the Goods Item Passport is applied to. | A manufacturer who wants to present some goods at an exhibition and brings them in on a temporary basis. |  | Goods Item Passport | Application Response
Party | Accompanying | The party accompanying the goods during the exportation and importation. | A representative for the holder who wants to go to an exhibition with commercial goods not for sale. | Representing party | Goods Item Passport | Application Response
Party | Exporting Customs | The party legal responsible for the export of the goods. | A chamber of commerce |  | Goods Item Passport Application Response Export Customs Declaration | Goods Item Passport Export Customs Declaration Application Response
Party | Importing Customs | The party legal responsible for the import of the goods. The original requester for the Proof Of Reexportation Request. | A chamber of commerce |  | Goods Item Passport Application Response | Goods Item Passport
Authenticated Party | Exporter | The party who initiates the export and holds an authentication to perform the export. The exporter is often the owner of the goods being exported | A slaughterhouse are the owner of the goods being exported, but not necessarily the party who presents the Goods Certificate for exportation |  | Goods Certificate |
Authenticated Party | Importer | The party who initiates the import and holds an authentication to perform the import. | A grocery store importing meet |  | Goods Certificate |
Authenticated Party | Representative | A authenticated party who perform the import or export on behalf of the importer or exporter. This is often a terminal operator who stores the goods before it is being exported or imported. | A cold store that are keeping the meet before export. |  | Goods Certificate |
Party | Legal Authority | A legal authority who validates the goods being imported or exported and signs the Goods Certificate | A food standard agency |  |  | Goods Certificate
Party | Issuer | The organisation authorized by the legal authority party to issue the certificate. | A chamber of commerce |  |  | Goods Certificate
Party | Importing Guarantor | The party fiscal responsible for customs of the goods that has been temporary imported | A chamber of commerce, member of the ICC |  | Proof Of Reexportation Request | Proof Of Reexportation Application Response
Party | Exporting Guarantor | The party fiscal responsible for customs of the goods that has been temporary exported | A chamber of commerce, member of the ICC |  | Proof Of Reexportation Request | Proof Of Reexportation Application Response
Party | Exporting Guarantor | The party fiscal responsible for customs of the goods that has been temporary exported | A chamber of commerce, member of the ICC |  | Proof Of Reexportation Application Response | Proof Of Reexportation Request
Party | Holder | The holder of the Goods Item passport, often the temporary exporter of the goods and the one the Goods Item Passport is applied to. | A exporter who wants presents some goods at an exhibition and bring in some goods temporary |  | Goods Item Passport | Application Response
Party | Representative | The party accompanying the goods during the importation. | A representative for the holder who wants to go for an exhibition |  | Goods Item Passport | Application Response
Party | Guarantor | The party (often chambers) that provides the fiscal guarantee of the Goods Item passport. | A chamber of commerce member of the ICC |  |  |
Party | Issuer | The organisation authorized by the guarantor party to issue the Goods Item Passport | A chamber of commerce |  | Goods Item Passport Application Response | Goods Item Passport
Party | Transit Exporter | The party who makes regulatory export declarations, or on whose behalf regulatory transit customs declarations are made, and who is the owner of the goods or has similar right of disposal over them at the time when the declaration is accepted. | A Norwegian exporter may have to do a Transit Customs Declaration in order to export to Russia | Seller, Consignor | Transit Customs Declaration | Application Response
Party | Receiving Logistic Operator | The party who in the role of a logistic operator is receiving a Manifest | A ground handling in an airport receives a Manifest from a logistic operator. |  |  | Manifest
Party | Sending Logistic Operator | The party who in the role of a logistic operator is sending a Manifest | A logistic operator consolidates some goods in a terminal and ships it along with a Manifest to a ground handler in an Airport | Freight Forwarder | Manifest |
Party | Customs | The party who is receiving a Customs Declaration | A Customs Party receives a Export Customs Declaration from a Exporter Party |  | Export Customs Declaration |
Party | Authority | The party who is receiving a Common Transportation Report | An Authority party receives a Common Transportation Report from a Logistics operator as reporter |  |  | Common Transportation Report
Party | Reporter | The party who is sending a Common Transportation Report | A Logistic operator sends a Common Transportation Report to a harbour | Logistics Operator | Common Transportation Report |
Party | Beneficiary | The party for whom a transaction is ultimately intended or who derives benefit from it. The Beneficiary Party may be distinct from the Buyer or Accounting Customer, particularly in scenarios involving third-party billing, grants, donations, or delegated procurement. This party may be referenced for informational or audit purposes but is not necessarily involved in the commercial or logistical execution of the transaction. | A national health authority procures vaccines on behalf of regional health centers. While the health authority acts as Buyer and Accounting Customer, each regional center is a Beneficiary Party — the vaccines are intended for them, even if they don’t issue or receive the invoice directly. | Ultimate Recipient, End Beneficiary, Final Beneficiary |  |

## 3 UBL 2.5 Schemas

### 3.1 UBL 2.5 Schemas Introduction

The UBL XSD schemas [XSD1] [XSD2] are the only normative representations of the UBL document types and library components for the purposes of XML [XML] document validation and conformance.

All of the UBL XSD schemas are contained in the `xsd` subdirectory of the UBL release package (see Appendix B, Release Notes (Non-Normative) for more information regarding the structure of the release package and Section 3.5, “Schema Dependencies” for information regarding dependencies among the schema modules). The `xsd` directory is further subdivided into an `xsd/maindoc` subdirectory containing the schemas for individual document types and an `xsd/common` subdirectory containing schemas in the UBL common library. For convenience in implementing the schemas, parallel (and technically non-normative) “runtime” sets with the annotation elements stripped out are provided in the `xsdrt/` directory.

Each schema directory includes an XML catalogue conforming to OASIS XML Catalogs V1.1 that points the user-facing namespaces to the schema fragments:

- `xsd/UBL-2.5-catalog.xml`

- `xsdrt/UBL-2.5-catalog.xml`

### 3.2 UBL 2.5 Document Schemas

#### 3.2.1 UBL 2.5 Document Schemas Introduction

The tables that follow describe each of the UBL document types. Along with a link to the normative schema for each document type, each table provides links to the corresponding “runtime” schema, model spreadsheets and summary report in HTML (see Appendix D, The UBL 2.5 Data Model (Non-Normative)), and example instance, if any (see Appendix G, UBL 2.5 Example Document Instances (Non-Normative)).

#### 3.2.2 Application Response Schema

Description: A document to indicate the application's response to a transaction. This may be a business response initiated by a user or a technical response sent automatically by an application.

Processes involved | Any collaboration
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-ApplicationResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ApplicationResponse-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ApplicationResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ApplicationResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ApplicationResponse-2.5.html`

#### 3.2.3 Attached Document Schema

Description: (Deprecated) A wrapper that allows a document of any kind to be packaged with the UBL document that references it.

Processes involved | Any collaboration
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-AttachedDocument-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-AttachedDocument-2.5.xsd`
Endorsed cardinality rationale | Deprecated from UBL 2.5. Users are encouraged to use a specialized document envelope, such as the OASIS XHE (Exchange Header Envelope).
Summary report | `mod/summary/reports/UBL-AttachedDocument-2.5.html`

#### 3.2.4 Awarded Notification Schema

Description: The document used to communicate a contract award to the winner.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-AwardedNotification-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-AwardedNotification-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-AwardedNotification-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-AwardedNotification-2.5.xsd`
Summary report | `mod/summary/reports/UBL-AwardedNotification-2.5.html`

#### 3.2.5 Bill Of Lading Schema

Description: A document issued by the party who acts as an agent for a transportation carrier or other agents to the party who gives instructions for the transportation services (shipper, consignor, etc.) stating the details of the transportation, charges, and terms and conditions under which the transportation service is provided. The party issuing this document does not necessarily provide the physical transportation service. The information in the Bill of Lading corresponds to the information on the Forwarding Instructions. It is used for any mode of transport. A Bill of Lading can serve as a contractual document between the parties for the transportation service. The document evidences a contract of carriage by sea and the acceptance of responsibility for the goods by the carrier, by which the carrier undertakes to deliver the goods against surrender of the document. A provision in the document that the goods are to be delivered to the order of a named person, or to order, or to bearer, constitutes such an undertaking.

Processes involved | Transport
Submitter role | Freight Forwarder, Carrier
Receiver role | Consignor (or Consignee), Freight Forwarder
Normative schema | `xsd/maindoc/UBL-BillOfLading-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-BillOfLading-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-BillOfLading-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-BillOfLading-2.5.xsd`
Summary report | `mod/summary/reports/UBL-BillOfLading-2.5.html`

#### 3.2.6 Business Card Schema

Description: A document used to provide information about a business party and its business capabilities.

Processes involved | Business Directory and Agreements
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-BusinessCard-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-BusinessCard-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-BusinessCard-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-BusinessCard-2.5.xsd`
Summary report | `mod/summary/reports/UBL-BusinessCard-2.5.html`
UBL 2.2 example instance | `xml/UBL-BusinessCard-2.2-Example.xml`

#### 3.2.7 Business Information Schema

Description: A document used to provide information about a business.

Processes involved | Any collaboration
Submitter role | Sender Party
Receiver role | ReceiverParty
Normative schema | `xsd/maindoc/UBL-BusinessInformation-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-BusinessInformation-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-BusinessInformation-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-BusinessInformation-2.5.xsd`
Summary report | `mod/summary/reports/UBL-BusinessInformation-2.5.html`

#### 3.2.8 Call For Tenders Schema

Description: A document used by a Contracting Party to define a procurement project to buy goods, services, or works during a specified period.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-CallForTenders-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CallForTenders-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CallForTenders-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CallForTenders-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CallForTenders-2.5.html`

#### 3.2.9 Catalogue Schema

Description: A document that describes items, prices, and price validity.

Processes involved | Catalogue, Create Catalogue, Delete Catalogue, Update Catalogue Item Specification, Update Catalogue Pricing, Initial Stocking of the Area by Producer, Permanent Replenishment, Price Adjustments, Transfer of Base Item Catalogue, Changes to the Item Catalogue, Changes to the Article Catalogue
Submitter role | Seller
Receiver role | Contracting Party
Normative schema | `xsd/maindoc/UBL-Catalogue-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Catalogue-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Catalogue-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Catalogue-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Catalogue-2.5.html`

#### 3.2.10 Catalogue Deletion Schema

Description: A document used to cancel an entire Catalogue.

Processes involved | Catalogue
Submitter role | Seller
Receiver role | Contracting Party
Normative schema | `xsd/maindoc/UBL-CatalogueDeletion-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CatalogueDeletion-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CatalogueDeletion-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CatalogueDeletion-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CatalogueDeletion-2.5.html`

#### 3.2.11 Catalogue Item Specification Update Schema

Description: A document used to update information (e.g., technical descriptions and properties) about Items in an existing Catalogue.

Processes involved | Catalogue
Submitter role | Seller
Receiver role | Contracting Party
Normative schema | `xsd/maindoc/UBL-CatalogueItemSpecificationUpdate-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CatalogueItemSpecificationUpdate-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CatalogueItemSpecificationUpdate-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CatalogueItemSpecificationUpdate-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CatalogueItemSpecificationUpdate-2.5.html`

#### 3.2.12 Catalogue Pricing Update Schema

Description: A document used to update information about prices in an existing Catalogue.

Processes involved | Catalogue
Submitter role | Seller
Receiver role | Contracting Party
Normative schema | `xsd/maindoc/UBL-CataloguePricingUpdate-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CataloguePricingUpdate-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CataloguePricingUpdate-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CataloguePricingUpdate-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CataloguePricingUpdate-2.5.html`

#### 3.2.13 Catalogue Request Schema

Description: A document used to request a Catalogue.

Processes involved | Catalogue
Submitter role | Contracting Party
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-CatalogueRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CatalogueRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CatalogueRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CatalogueRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CatalogueRequest-2.5.html`

#### 3.2.14 Certificate Of Origin Schema

Description: A document that describes the Certificate of Origin.

Processes involved | Certification of Origin of Goods
Submitter role | Exporter, Issuer
Receiver role | Issuer, Importer
Normative schema | `xsd/maindoc/UBL-CertificateOfOrigin-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CertificateOfOrigin-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CertificateOfOrigin-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CertificateOfOrigin-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CertificateOfOrigin-2.5.html`

#### 3.2.15 Common Transportation Report Schema

Description: A common document used for reporting transport related issues to authorities or regulators.

Processes involved | Common Transportation Report
Submitter role | Reporter party
Receiver role | Authority party
Normative schema | `xsd/maindoc/UBL-CommonTransportationReport-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CommonTransportationReport-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CommonTransportationReport-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CommonTransportationReport-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CommonTransportationReport-2.5.html`
UBL 2.3 example instance | `xml/UBL-CommonTransportationReport-2.3-Example.xml`

#### 3.2.16 Contract Award Notice Schema

Description: A document published by a Contracting Party to announce the awarding of a procurement project.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-ContractAwardNotice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ContractAwardNotice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ContractAwardNotice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ContractAwardNotice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ContractAwardNotice-2.5.html`

#### 3.2.17 Contract Notice Schema

Description: A document used by a Contracting party to announce a project to buy goods, services, or works.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-ContractNotice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ContractNotice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ContractNotice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ContractNotice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ContractNotice-2.5.html`

#### 3.2.18 Credit Note Schema

Description: A document used to specify credits due to the Debtor from the Creditor.

Processes involved | Billing
Submitter role | Supplier Accounting Party
Receiver role | Customer Accounting Party
Normative schema | `xsd/maindoc/UBL-CreditNote-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-CreditNote-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-CreditNote-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-CreditNote-2.5.xsd`
Summary report | `mod/summary/reports/UBL-CreditNote-2.5.html`
UBL 2.0 example instance | `xml/UBL-CreditNote-2.0-Example.xml`
UBL 2.1 example instance | `xml/UBL-CreditNote-2.1-Example.xml`

#### 3.2.19 Debit Note Schema

Description: A document used to specify debits due to the Creditor from the Debtor.

Processes involved | Billing
Submitter role | Supplier Accounting Party
Receiver role | Customer Accounting Party
Normative schema | `xsd/maindoc/UBL-DebitNote-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DebitNote-2.5.xsd`
Deprecated definition | A document used to specify debts incurred by the Debtor.
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DebitNote-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DebitNote-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DebitNote-2.5.html`
UBL 2.5 example instance | `xml/UBL-DebitNote-2.5-Example.xml`

#### 3.2.20 Delivery Note Schema

Description: A document confirming the actual delivery of goods or services, detailing delivered items, quantities, and shipment information.

Processes involved | Logistics
Submitter role | Despatch
Receiver role | Delivery
Normative schema | `xsd/maindoc/UBL-DeliveryNote-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DeliveryNote-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DeliveryNote-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DeliveryNote-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DeliveryNote-2.5.html`

#### 3.2.21 Despatch Advice Schema

Description: A document used to describe the despatch or delivery of goods and services.

Processes involved | Logistics
Submitter role | Despatch
Receiver role | Delivery
Normative schema | `xsd/maindoc/UBL-DespatchAdvice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DespatchAdvice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DespatchAdvice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DespatchAdvice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DespatchAdvice-2.5.html`
UBL 2.0 example instance | `xml/UBL-DespatchAdvice-2.0-Example.xml`

#### 3.2.22 Digital Agreement Schema

Description: A document used to support business parties agreeing on a set of digital processes, terms and conditions to ensure interoperability.

Processes involved | Business Directory and Agreements
Submitter role | Agreement Participant
Receiver role | Agreement Participant
Normative schema | `xsd/maindoc/UBL-DigitalAgreement-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DigitalAgreement-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DigitalAgreement-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DigitalAgreement-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DigitalAgreement-2.5.html`
UBL 2.2 example instance | `xml/UBL-DigitalAgreement-2.2-Example.xml`
UBL 2.2 example instance | `xml/UBL-DigitalAgreement-2.2-Example-Multilateral.xml`

#### 3.2.23 Digital Capability Schema

Description: A document used to provide information about a business party and its digital trade capabilities.

Processes involved | Business Directory and Agreements
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-DigitalCapability-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DigitalCapability-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DigitalCapability-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DigitalCapability-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DigitalCapability-2.5.html`
UBL 2.2 example instance | `xml/UBL-DigitalCapability-2.2-Example.xml`

#### 3.2.24 Document Status Schema

Description: A document used to provide information about the status of a collaboration/process associated with a document.

Processes involved | Any collaboration
Submitter role | Party currently controlling Status of the collaboration
Receiver role | Party requesting Status on collaboration
Normative schema | `xsd/maindoc/UBL-DocumentStatus-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DocumentStatus-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DocumentStatus-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DocumentStatus-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DocumentStatus-2.5.html`

#### 3.2.25 Document Status Request Schema

Description: A document used to request the status of a collaboration/process associated with a document.

Processes involved | Any collaboration
Submitter role | Party requesting Status on collaboration
Receiver role | Party currently controlling Status of the collaboration
Normative schema | `xsd/maindoc/UBL-DocumentStatusRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-DocumentStatusRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-DocumentStatusRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-DocumentStatusRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-DocumentStatusRequest-2.5.html`

#### 3.2.26 Enquiry Schema

Description: A document sent by a requestor to a responder resquesting information about a particular business process.

Processes involved | Any collaboration
Submitter role | Requestor
Receiver role | Responder
Normative schema | `xsd/maindoc/UBL-Enquiry-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Enquiry-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. Use Document Status Request instead.
Summary report | `mod/summary/reports/UBL-Enquiry-2.5.html`

#### 3.2.27 Enquiry Response Schema

Description: A document sent by a responder to a requester answering a particular enqury.

Processes involved | Any collaboration
Submitter role | Responder
Receiver role | Requestor
Normative schema | `xsd/maindoc/UBL-EnquiryResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-EnquiryResponse-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. Use Document Status instead.
Summary report | `mod/summary/reports/UBL-EnquiryResponse-2.5.html`

#### 3.2.28 Exception Criteria Schema

Description: A document used to specify the thresholds for forecast variance, product activity, and performance history beyond which exceptions will be triggered.

Processes involved | Collaborative Planning, Forecasting, and Replenishment
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-ExceptionCriteria-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ExceptionCriteria-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ExceptionCriteria-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ExceptionCriteria-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ExceptionCriteria-2.5.html`
UBL 2.1 example instance | `xml/UBL-ExceptionCriteria-2.1-Example.xml`

#### 3.2.29 Exception Notification Schema

Description: A document used to notify an exception in forecast variance, product activity, or performance history.

Processes involved | Collaborative Planning, Forecasting, and Replenishment
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-ExceptionNotification-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ExceptionNotification-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ExceptionNotification-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ExceptionNotification-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ExceptionNotification-2.5.html`
UBL 2.1 example instance | `xml/UBL-ExceptionNotification-2.1-Example.xml`

#### 3.2.30 Export Customs Declaration Schema

Description: A customs declaration document for exporting goods

Processes involved | Export Customs Declaration
Submitter role | Exporter Party
Receiver role | Customs Party
Normative schema | `xsd/maindoc/UBL-ExportCustomsDeclaration-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ExportCustomsDeclaration-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ExportCustomsDeclaration-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ExportCustomsDeclaration-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ExportCustomsDeclaration-2.5.html`
UBL 2.3 example instance | `xml/UBL-ExportCustomsDeclaration-2.3-Example.xml`

#### 3.2.31 Expression Of Interest Request Schema

Description: An expression of interest to a tendering process. An Economic Operator can demonstrate interest in a tendering process issuing an Expression Of Interest document to the contracting party. Upon reception, the Contracting Party registers the interest of the Economic Operator sending the relevant information for the tendering process.

Processes involved | Pre-award
Submitter role | Tenderer (Economic Operator)
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-ExpressionOfInterestRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ExpressionOfInterestRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ExpressionOfInterestRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ExpressionOfInterestRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ExpressionOfInterestRequest-2.5.html`
UBL 2.2 example instance | `xml/UBL-ExpressionOfInterestRequest-2.2-Example.xml`

#### 3.2.32 Expression Of Interest Response Schema

Description: An expression of interest confirmation issued by a Contracting Party in reply to an expression of interest. The purpose of this document is to inform the Economic Operator he has been registered as an interested party.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer (Economic Operator)
Normative schema | `xsd/maindoc/UBL-ExpressionOfInterestResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ExpressionOfInterestResponse-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ExpressionOfInterestResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ExpressionOfInterestResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ExpressionOfInterestResponse-2.5.html`

#### 3.2.33 Forecast Schema

Description: A document used to forecast sales or orders.

Processes involved | Collaborative Planning, Forecasting, and Replenishment
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-Forecast-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Forecast-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Forecast-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Forecast-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Forecast-2.5.html`
UBL 2.1 example instance | `xml/UBL-Forecast-2.1-Example.xml`

#### 3.2.34 Forecast Revision Schema

Description: A document used to revise a Forecast.

Processes involved | Collaborative Planning, Forecasting, and Replenishment
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-ForecastRevision-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ForecastRevision-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ForecastRevision-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ForecastRevision-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ForecastRevision-2.5.html`
UBL 2.1 example instance | `xml/UBL-ForecastRevision-2.1-Example.xml`

#### 3.2.35 Forwarding Instructions Schema

Description: A document issued to a forwarder, giving instructions regarding the action to be taken for the forwarding of goods described therein. Forwarding Instructions is used by any party who gives instructions for the transportation services required for a consignment of goods to any party who is contracted to provide the transportation services. The parties who issue this document are commonly referred to as the shipper or consignor, while the parties who receive this document are forwarders, carriers, shipping agents, etc. This document may also be issued by a forwarder or shipping agent in its capacity as a shipper. This document can be used to arrange for the transportation (1) of different types of goods or cargoes; (2) whether containerized or non-containerized; (3) through different modes of transport including multi-modal; and (4) from any origin to any destination.

Processes involved | Transport
Submitter role | Consignor (or Consignee), Freight Forwarder
Receiver role | Freight Forwarder, Carrier
Normative schema | `xsd/maindoc/UBL-ForwardingInstructions-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ForwardingInstructions-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ForwardingInstructions-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ForwardingInstructions-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ForwardingInstructions-2.5.html`
UBL 2.0 example instance | `xml/UBL-ForwardingInstructions-2.0-Example-International.xml`

#### 3.2.36 Freight Invoice Schema

Description: (Deprecated) A document stating the charges incurred for a logistics service.

Processes involved | Any collaboration
Submitter role | Freight Forwarder
Receiver role | Consignor or Consignee
Normative schema | `xsd/maindoc/UBL-FreightInvoice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-FreightInvoice-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. Use Invoice instead.
Summary report | `mod/summary/reports/UBL-FreightInvoice-2.5.html`

#### 3.2.37 Fulfilment Cancellation Schema

Description: A document used to cancel an entire fulfilment document (Despatch Advice or Receipt Advice).

Processes involved | Logistics
Submitter role | Buyer or Seller
Receiver role | Seller or Buyer
Normative schema | `xsd/maindoc/UBL-FulfilmentCancellation-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-FulfilmentCancellation-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-FulfilmentCancellation-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-FulfilmentCancellation-2.5.xsd`
Summary report | `mod/summary/reports/UBL-FulfilmentCancellation-2.5.html`
UBL 2.1 example instance | `xml/UBL-FulfilmentCancellation-2.1-Example.xml`

#### 3.2.38 Goods Certificate Schema

Description: A document that describes a certificate of goods for importation and exportation

Processes involved | Export Goods Certificate
Submitter role | Exporter party
Receiver role | Legal Authority Party
Normative schema | `xsd/maindoc/UBL-GoodsCertificate-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-GoodsCertificate-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-GoodsCertificate-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-GoodsCertificate-2.5.xsd`
Summary report | `mod/summary/reports/UBL-GoodsCertificate-2.5.html`
UBL 2.3 example instance | `xml/UBL-GoodsCertificate-2.3-Example.xml`

#### 3.2.39 Goods Item Itinerary Schema

Description: A document providing details relating to a transport service, such as transport movement, identification of equipment and goods, subcontracted service providers, etc.

Processes involved | Intermodal Freight Management
Submitter role | Transport Service Provider
Receiver role | Transport User
Normative schema | `xsd/maindoc/UBL-GoodsItemItinerary-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-GoodsItemItinerary-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-GoodsItemItinerary-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-GoodsItemItinerary-2.5.xsd`
Summary report | `mod/summary/reports/UBL-GoodsItemItinerary-2.5.html`
UBL 2.1 example instance | `xml/UBL-GoodsItemItinerary-2.1-Example.xml`

#### 3.2.40 Goods Item Passport Schema

Description: A document providing a temporary export license, also knowned as an ATA Carnet

Processes involved | Goods Item Passport (Carnet)
Submitter role | HolderParty
Receiver role | IssuerParty
Normative schema | `xsd/maindoc/UBL-GoodsItemPassport-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-GoodsItemPassport-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-GoodsItemPassport-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-GoodsItemPassport-2.5.xsd`
Summary report | `mod/summary/reports/UBL-GoodsItemPassport-2.5.html`
UBL 2.3 example instance | `xml/UBL-GoodsItemPassport-2.3-Example-Issued.xml`

#### 3.2.41 Guarantee Certificate Schema

Description: A document to notify the deposit of a Guarantee, such as a bid bond.

Processes involved | Pre-award
Submitter role | Tenderer
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-GuaranteeCertificate-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-GuaranteeCertificate-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-GuaranteeCertificate-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-GuaranteeCertificate-2.5.xsd`
Summary report | `mod/summary/reports/UBL-GuaranteeCertificate-2.5.html`

#### 3.2.42 Import Customs Declaration Schema

Description: A customs declaration document for importing goods.

Processes involved | Import Customs Declaration
Submitter role | Importer Party
Receiver role | Customs Party
Normative schema | `xsd/maindoc/UBL-ImportCustomsDeclaration-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ImportCustomsDeclaration-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ImportCustomsDeclaration-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ImportCustomsDeclaration-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ImportCustomsDeclaration-2.5.html`
UBL 2.3 example instance | `xml/UBL-ImportCustomsDeclaration-2.3-Example.xml`

#### 3.2.43 Instruction For Returns Schema

Description: A document used to initiate a return of goods. The producer is requesting the return of products that are not selling well, either to use in other places or to free up rack or shelf space.

Processes involved | Cyclic Replenishment Program (CRP)
Submitter role | Seller
Receiver role | Buyer
Normative schema | `xsd/maindoc/UBL-InstructionForReturns-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-InstructionForReturns-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-InstructionForReturns-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-InstructionForReturns-2.5.xsd`
Summary report | `mod/summary/reports/UBL-InstructionForReturns-2.5.html`
UBL 2.1 example instance | `xml/UBL-InstructionForReturns-2.1-Example.xml`

#### 3.2.44 Inventory Report Schema

Description: A report on the quantities of each item that are, or will be, in stock. This document is sent by a Buyer (for example a retailer) to a Seller (for example a producer).

Processes involved | Cyclic Replenishment Program (CRP)
Submitter role | Buyer
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-InventoryReport-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-InventoryReport-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-InventoryReport-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-InventoryReport-2.5.xsd`
Summary report | `mod/summary/reports/UBL-InventoryReport-2.5.html`
UBL 2.1 example instance | `xml/UBL-InventoryReport-2.1-Example.xml`

#### 3.2.45 Invoice Schema

Description: A document used to request payment.

Processes involved | Billing
Submitter role | Supplier Accounting Party
Receiver role | Customer Accounting Party
Normative schema | `xsd/maindoc/UBL-Invoice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Invoice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Invoice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Invoice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Invoice-2.5.html`
UBL 2.0 example instance | `xml/UBL-Invoice-2.0-Example.xml`
UBL 2.1 example instance | `xml/UBL-Invoice-2.1-Example.xml`
UBL 2.1 example instance | `xml/UBL-Invoice-2.1-Example-Trivial.xml`

#### 3.2.46 Invoice Status Request Schema

Description: A document used to request the status of a previously issued Invoice.

Processes involved | Billing
Submitter role | Party requesting the status of the referenced invoice(s)
Receiver role | Party currently managing the status of the referenced invoice(s)
Normative schema | `xsd/maindoc/UBL-InvoiceStatusRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-InvoiceStatusRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-InvoiceStatusRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-InvoiceStatusRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-InvoiceStatusRequest-2.5.html`

#### 3.2.47 Invoice Status Response Schema

Description: A document used to provide information about the status of a collaboration/process associated with a document.

Processes involved | Billing
Submitter role | Party currently managing the status of the referenced invoice(s)
Receiver role | Party requesting the status of the referenced invoice(s)
Normative schema | `xsd/maindoc/UBL-InvoiceStatusResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-InvoiceStatusResponse-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-InvoiceStatusResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-InvoiceStatusResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-InvoiceStatusResponse-2.5.html`

#### 3.2.48 Item Information Request Schema

Description: A document used to request product activity, forecast, or performance data.

Processes involved | Collaborative Planning, Forecasting, and Replenishment
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-ItemInformationRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ItemInformationRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ItemInformationRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ItemInformationRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ItemInformationRequest-2.5.html`

#### 3.2.49 Manifest Schema

Description: A document listing the contents, cargo, passengers and crew of an airplane, a ship, a truck or a wagon.

Processes involved | Manifest
Submitter role | Sending Logistic Operator party
Receiver role | Receiving Logistic Operator party
Normative schema | `xsd/maindoc/UBL-Manifest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Manifest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Manifest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Manifest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Manifest-2.5.html`
UBL 2.3 example instance | `xml/UBL-Manifest-2.3-Example-Reference-Only.xml`
UBL 2.3 example instance | `xml/UBL-Manifest-2.3-Example-Shipment.xml`

#### 3.2.50 Order Schema

Description: A document used to order goods and services.

Processes involved | Ordering (post-award)
Submitter role | Buyer
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-Order-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Order-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Order-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Order-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Order-2.5.html`
UBL 2.0 example instance | `xml/UBL-Order-2.0-Example.xml`
UBL 2.1 example instance | `xml/UBL-Order-2.1-Example.xml`
UBL 2.0 example instance | `xml/UBL-Order-2.0-Example-International.xml`

#### 3.2.51 Order Cancellation Schema

Description: A document used to cancel an entire Order.

Processes involved | Ordering (post-award), Logistics
Submitter role | Buyer
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-OrderCancellation-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-OrderCancellation-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-OrderCancellation-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-OrderCancellation-2.5.xsd`
Summary report | `mod/summary/reports/UBL-OrderCancellation-2.5.html`
UBL 2.1 example instance | `xml/UBL-OrderCancellation-2.1-Example.xml`

#### 3.2.52 Order Change Schema

Description: A document used to specify changes to an existing Order.

Processes involved | Ordering (post-award), Logistics
Submitter role | Buyer
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-OrderChange-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-OrderChange-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-OrderChange-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-OrderChange-2.5.xsd`
Summary report | `mod/summary/reports/UBL-OrderChange-2.5.html`
UBL 2.1 example instance | `xml/UBL-OrderChange-2.1-Example.xml`

#### 3.2.53 Order Response Schema

Description: A document used to indicate detailed acceptance or rejection of an Order or to make a counter-offer.

Processes involved | Ordering (post-award)
Submitter role | Seller
Receiver role | Buyer
Normative schema | `xsd/maindoc/UBL-OrderResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-OrderResponse-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-OrderResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-OrderResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-OrderResponse-2.5.html`
UBL 2.1 example instance | `xml/UBL-OrderResponse-2.1-Example.xml`

#### 3.2.54 Order Response Simple Schema

Description: (Deprecated) A document used to indicate simple acceptance or rejection of an entire Order.

Processes involved | Ordering (post-award)
Submitter role | Seller
Receiver role | Buyer
Normative schema | `xsd/maindoc/UBL-OrderResponseSimple-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-OrderResponseSimple-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. Use OrderResponse without OrderLines instead.
Summary report | `mod/summary/reports/UBL-OrderResponseSimple-2.5.html`
UBL 2.0 example instance | `xml/UBL-OrderResponseSimple-2.0-Example.xml`
UBL 2.1 example instance | `xml/UBL-OrderResponseSimple-2.1-Example.xml`

#### 3.2.55 Packing List Schema

Description: A document describing how goods are packed.

Processes involved | Transport
Submitter role | Consignor
Receiver role | Freight Forwarder
Normative schema | `xsd/maindoc/UBL-PackingList-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-PackingList-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-PackingList-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-PackingList-2.5.xsd`
Summary report | `mod/summary/reports/UBL-PackingList-2.5.html`

#### 3.2.56 Prior Information Notice Schema

Description: A document used by a contracting party to declare the intention to buy goods, services, or works during a specified period.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-PriorInformationNotice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-PriorInformationNotice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-PriorInformationNotice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-PriorInformationNotice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-PriorInformationNotice-2.5.html`
UBL 2.2 example instance | `xml/UBL-PriorInformationNotice-2.2-Example-Embedded.xml`
UBL 2.2 example instance | `xml/UBL-PriorInformationNotice-2.2-Example-External.xml`

#### 3.2.57 Procurement Status Schema

Description: A document sent by a Contracting Party to an Economic Operator describing the status of a procurement procedure, Project, or Lot.

Processes involved | Any collaboration
Submitter role | Responder
Receiver role | Requestor
Normative schema | `xsd/maindoc/UBL-ProcurementStatus-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ProcurementStatus-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ProcurementStatus-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ProcurementStatus-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ProcurementStatus-2.5.html`

#### 3.2.58 Procurement Status Request Schema

Description: A document sent by an Economic Operator to a Contracting Party asking about the details and status of a procurement procedure, Project, or Lot.

Processes involved | Any collaboration
Submitter role | Requestor
Receiver role | Responder
Normative schema | `xsd/maindoc/UBL-ProcurementStatusRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ProcurementStatusRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ProcurementStatusRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ProcurementStatusRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ProcurementStatusRequest-2.5.html`

#### 3.2.59 Product Activity Schema

Description: A document reporting the movement of goods at specified retail locations for inventory tracking purposes.

Processes involved | Collaborative Planning, Forecasting, and Replenishment, Vendor Managed Inventory
Submitter role | Buyer
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-ProductActivity-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ProductActivity-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ProductActivity-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ProductActivity-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ProductActivity-2.5.html`
UBL 2.1 example instance 1 | `xml/UBL-ProductActivity-2.1-Example-1.xml`
UBL 2.1 example instance 2 | `xml/UBL-ProductActivity-2.1-Example-2.xml`
UBL 2.1 example instance 3 | `xml/UBL-ProductActivity-2.1-Example-3.xml`

#### 3.2.60 Proof Of Reexportation Schema

Description: A document providing a status or a proof that goods have been re-exported

Processes involved | Goods Item Passport Proof of Re-exportation
Submitter role | Exporting Guarantor party
Receiver role | Importing Guarantor party
Normative schema | `xsd/maindoc/UBL-ProofOfReexportation-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ProofOfReexportation-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ProofOfReexportation-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ProofOfReexportation-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ProofOfReexportation-2.5.html`
UBL 2.3 example instance | `xml/UBL-ProofOfReexportation-2.3-Example.xml`

#### 3.2.61 Proof Of Reexportation Reminder Schema

Description: A reminder that a requested Proof of Reexportation is pending.

Processes involved | Goods Item Passport Proof of Re-exportation
Submitter role | Customs Party
Receiver role | Exporting Guarantor party
Normative schema | `xsd/maindoc/UBL-ProofOfReexportationReminder-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ProofOfReexportationReminder-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ProofOfReexportationReminder-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ProofOfReexportationReminder-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ProofOfReexportationReminder-2.5.html`
UBL 2.3 example instance | `xml/UBL-ProofOfReexportationReminder-2.3-Example.xml`

#### 3.2.62 Proof Of Reexportation Request Schema

Description: A document requesting the status or proof that goods have been re-exported

Processes involved | Goods Item Passport Proof of Re-exportation
Submitter role | Customs Party
Receiver role | Exporting Guarantor party
Normative schema | `xsd/maindoc/UBL-ProofOfReexportationRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ProofOfReexportationRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ProofOfReexportationRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ProofOfReexportationRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ProofOfReexportationRequest-2.5.html`
UBL 2.3 example instance | `xml/UBL-ProofOfReexportationRequest-2.3-Example.xml`

#### 3.2.63 Purchase Receipt Schema

Description: A receipt for a purchase made with cash or cash equivalents.

Processes involved | Any collaboration
Submitter role | Accounting Supplier Party
Receiver role | Accounting Customer Party
Normative schema | `xsd/maindoc/UBL-PurchaseReceipt-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-PurchaseReceipt-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-PurchaseReceipt-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-PurchaseReceipt-2.5.xsd`
Summary report | `mod/summary/reports/UBL-PurchaseReceipt-2.5.html`
UBL 2.4 example instance | `xml/UBL-PurchaseReceipt-2.4-Example.xml`

#### 3.2.64 Qualification Application Request Schema

Description: A document issued by a buyer defining how the Exclusion Grounds and the Selection Criteria should be addressed in a Single Procurement Document for a specific procurement.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer (Economic Operator)
Normative schema | `xsd/maindoc/UBL-QualificationApplicationRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-QualificationApplicationRequest-2.5.xsd`
Deprecated definition | A document issued by a procurement organization to notify an economic operator whether it has been admitted to or excluded from the tendering process.
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-QualificationApplicationRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-QualificationApplicationRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-QualificationApplicationRequest-2.5.html`

#### 3.2.65 Qualification Application Response Schema

Description: A self-declaration of an economic operator, stating that it does not fall under the Exclusion Grounds and that it meets the Selection Criteria for a specific procurement.

Processes involved | Pre-award
Submitter role | Tenderer (Economic Operator)
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-QualificationApplicationResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-QualificationApplicationResponse-2.5.xsd`
Deprecated definition | A document whereby an Economic Operator (the tenderer) replies to the Qualification Application Request of the Contracting Authority.
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-QualificationApplicationResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-QualificationApplicationResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-QualificationApplicationResponse-2.5.html`

#### 3.2.66 Quotation Schema

Description: A document used to quote for the provision of goods and services.

Processes involved | Quotation
Submitter role | Seller
Receiver role | Originator
Normative schema | `xsd/maindoc/UBL-Quotation-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Quotation-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Quotation-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Quotation-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Quotation-2.5.html`
UBL 2.0 example instance | `xml/UBL-Quotation-2.0-Example.xml`
UBL 2.1 example instance | `xml/UBL-Quotation-2.1-Example.xml`

#### 3.2.67 Receipt Advice Schema

Description: A document used to describe the receipt of goods and services or as a reply to a despatch advice.

Processes involved | Logistics
Submitter role | Delivery
Receiver role | Despatch
Normative schema | `xsd/maindoc/UBL-ReceiptAdvice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-ReceiptAdvice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-ReceiptAdvice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-ReceiptAdvice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-ReceiptAdvice-2.5.html`
UBL 2.0 example instance | `xml/UBL-ReceiptAdvice-2.0-Example.xml`

#### 3.2.68 Reminder Schema

Description: A document used to remind a customer of payments past due.

Processes involved | Billing
Submitter role | Supplier Accounting Party and/or Payee
Receiver role | Customer Accounting Party and/or Payee
Normative schema | `xsd/maindoc/UBL-Reminder-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Reminder-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Reminder-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Reminder-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Reminder-2.5.html`
UBL 2.1 example instance | `xml/UBL-Reminder-2.1-Example.xml`

#### 3.2.69 Remittance Advice Schema

Description: A document that specifies details of an actual payment.

Processes involved | Payment Notification
Submitter role | Supplier Accounting Party and/or Payee
Receiver role | Customer Accounting Party and/or Payee
Normative schema | `xsd/maindoc/UBL-RemittanceAdvice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-RemittanceAdvice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-RemittanceAdvice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-RemittanceAdvice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-RemittanceAdvice-2.5.html`
UBL 2.0 example instance | `xml/UBL-RemittanceAdvice-2.0-Example.xml`

#### 3.2.70 Request For Quotation Schema

Description: A document used to request a Quotation for goods and services from a Seller.

Processes involved | Quotation
Submitter role | Originator
Receiver role | Seller
Normative schema | `xsd/maindoc/UBL-RequestForQuotation-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-RequestForQuotation-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-RequestForQuotation-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-RequestForQuotation-2.5.xsd`
Summary report | `mod/summary/reports/UBL-RequestForQuotation-2.5.html`
UBL 2.0 example instance | `xml/UBL-RequestForQuotation-2.0-Example.xml`
UBL 2.1 example instance | `xml/UBL-RequestForQuotation-2.1-Example.xml`

#### 3.2.71 Retail Event Schema

Description: A document used to specify basic information about retail events (such as promotions, product introductions, and community or environmental events) that affect supply or demand.

Processes involved | Cyclic Replenishment Program (CRP)
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-RetailEvent-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-RetailEvent-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-RetailEvent-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-RetailEvent-2.5.xsd`
Summary report | `mod/summary/reports/UBL-RetailEvent-2.5.html`
UBL 2.1 example instance | `xml/UBL-RetailEvent-2.1-Example.xml`

#### 3.2.72 Self Billed Credit Note Schema

Description: A credit note created by the debtor in a self billing arrangement with a creditor.

Processes involved | Billing
Submitter role | Customer Accounting Party
Receiver role | Supplier Accounting Party
Normative schema | `xsd/maindoc/UBL-SelfBilledCreditNote-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-SelfBilledCreditNote-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-SelfBilledCreditNote-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-SelfBilledCreditNote-2.5.xsd`
Summary report | `mod/summary/reports/UBL-SelfBilledCreditNote-2.5.html`
UBL 2.1 example instance | `xml/UBL-SelfBilledCreditNote-2.1-Example.xml`

#### 3.2.73 Self Billed Invoice Schema

Description: An Invoice document created by the Customer (rather than the Supplier) in a Self Billing relationship.

Processes involved | Billing
Submitter role | Customer Accounting Party
Receiver role | Supplier Accounting Party
Normative schema | `xsd/maindoc/UBL-SelfBilledInvoice-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-SelfBilledInvoice-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-SelfBilledInvoice-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-SelfBilledInvoice-2.5.xsd`
Summary report | `mod/summary/reports/UBL-SelfBilledInvoice-2.5.html`

#### 3.2.74 Statement Schema

Description: A document used to report the status of orders, billing, and payment. This document is a statement of account, not a summary invoice.

Processes involved | Billing
Submitter role | Supplier Accounting Party
Receiver role | Customer Accounting Party
Normative schema | `xsd/maindoc/UBL-Statement-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Statement-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Statement-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Statement-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Statement-2.5.html`
UBL 2.0 example instance | `xml/UBL-Statement-2.0-Example.xml`

#### 3.2.75 Stock Availability Report Schema

Description: (Deprecated) A report on the quantities of each item that are, or will be, in stock. This document is sent by a Seller (for example a producer) to a Buyer (for example a retailer).

Processes involved | Cyclic Replenishment Program (CRP)
Submitter role | Seller (Producer)
Receiver role | Buyer (Retailer)
Normative schema | `xsd/maindoc/UBL-StockAvailabilityReport-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-StockAvailabilityReport-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. This type is redundant. Use Inventory Report instead.
Summary report | `mod/summary/reports/UBL-StockAvailabilityReport-2.5.html`
UBL 2.1 example instance | `xml/UBL-StockAvailabilityReport-2.1-Example.xml`

#### 3.2.76 Tender Schema

Description: A document whereby an economic operator (the tenderer) makes a formal offer (the tender) to a contracting authority to execute an order for the supply or purchase of goods, or for the execution of work, according to the terms of a proposed contract.

Processes involved | Pre-award
Submitter role | Tenderer
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-Tender-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Tender-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Tender-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Tender-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Tender-2.5.html`

#### 3.2.77 Tender Contract Schema

Description: A document published by a Contracting Party to announce the awarding of a procurement project.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer (Economic Operator)
Normative schema | `xsd/maindoc/UBL-TenderContract-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TenderContract-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TenderContract-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TenderContract-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TenderContract-2.5.html`

#### 3.2.78 Tender Receipt Schema

Description: A document sent by a contracting party to an economic operator acknowledging receipt of a Tender.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-TenderReceipt-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TenderReceipt-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TenderReceipt-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TenderReceipt-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TenderReceipt-2.5.html`

#### 3.2.79 Tender Status Schema

Description: (Deprecated) A document sent by the Contracting Party to an Economic Operator describing the status of a tendering procedure.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer (Economic Operator)
Normative schema | `xsd/maindoc/UBL-TenderStatus-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TenderStatus-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. Use Procurement Status instead.
Summary report | `mod/summary/reports/UBL-TenderStatus-2.5.html`

#### 3.2.80 Tender Status Request Schema

Description: (Deprecated) A document sent by an Economic Operator asking about the details and status of a tendering procedure.

Processes involved | Pre-award
Submitter role | Tenderer (Economic Operator)
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-TenderStatusRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TenderStatusRequest-2.5.xsd`
Endorsed cardinality rationale | Deprecated since UBL 2.5. Use Procurement Status Request instead.
Summary report | `mod/summary/reports/UBL-TenderStatusRequest-2.5.html`

#### 3.2.81 Tender Withdrawal Schema

Description: A document sent by an Economic Operator to a Contracting Party with the intention of withdrawing a previously sent Tender document.

Processes involved | Pre-award
Submitter role | Tenderer (Economic Operator)
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-TenderWithdrawal-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TenderWithdrawal-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TenderWithdrawal-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TenderWithdrawal-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TenderWithdrawal-2.5.html`

#### 3.2.82 Tenderer Qualification Schema

Description: A document declaring the qualifications of a tenderer.

Processes involved | Pre-award
Submitter role | Tenderer
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-TendererQualification-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TendererQualification-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TendererQualification-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TendererQualification-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TendererQualification-2.5.html`

#### 3.2.83 Tenderer Qualification Response Schema

Description: A document issued by a procurement organization to notify an economic operator whether it has been admitted to or excluded from the tendering process.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-TendererQualificationResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TendererQualificationResponse-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TendererQualificationResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TendererQualificationResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TendererQualificationResponse-2.5.html`

#### 3.2.84 Trade Item Location Profile Schema

Description: A document specifying trade item attributes relating to replenishment policies.

Processes involved | Collaborative Planning, Forecasting, and Replenishment
Submitter role | Buyer, Seller
Receiver role | Buyer, Seller
Normative schema | `xsd/maindoc/UBL-TradeItemLocationProfile-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TradeItemLocationProfile-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TradeItemLocationProfile-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TradeItemLocationProfile-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TradeItemLocationProfile-2.5.html`
UBL 2.1 example instance | `xml/UBL-TradeItemLocationProfile-2.1-Example.xml`

#### 3.2.85 Transit Customs Declaration Schema

Description: A document that describes an import customs declaration.

Processes involved | Transit Customs Declaration
Submitter role | Transit Customs Party
Receiver role | Customs Party
Normative schema | `xsd/maindoc/UBL-TransitCustomsDeclaration-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransitCustomsDeclaration-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransitCustomsDeclaration-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransitCustomsDeclaration-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransitCustomsDeclaration-2.5.html`
UBL 2.3 example instance | `xml/UBL-TransitCustomsDeclaration-2.3-Example.xml`

#### 3.2.86 Transport Execution Plan Schema

Description: A document used in the negotiation of a transport service between a transport user and a transport service provider.

Processes involved | Intermodal Freight Management
Submitter role | Transport Service Provider, Transport User
Receiver role | Transport User, Transport Service Provider
Normative schema | `xsd/maindoc/UBL-TransportExecutionPlan-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportExecutionPlan-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportExecutionPlan-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportExecutionPlan-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportExecutionPlan-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportExecutionPlan-2.1-Example.xml`

#### 3.2.87 Transport Execution Plan Request Schema

Description: A document sent by a transport user to request a transport service from a transport service provider.

Processes involved | Intermodal Freight Management
Submitter role | Transport User
Receiver role | Transport Service Provider
Normative schema | `xsd/maindoc/UBL-TransportExecutionPlanRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportExecutionPlanRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportExecutionPlanRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportExecutionPlanRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportExecutionPlanRequest-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportExecutionPlanRequest-2.1-Example.xml`

#### 3.2.88 Transport Progress Status Schema

Description: A document sent from a Transportation Network Manager to a Transport Service Provider giving the status of the whereabouts and schedule of the transport means involved in a transport service.

Processes involved | Intermodal Freight Management
Submitter role | Transportation Network Manager
Receiver role | Transport Service Provider
Normative schema | `xsd/maindoc/UBL-TransportProgressStatus-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportProgressStatus-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportProgressStatus-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportProgressStatus-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportProgressStatus-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportProgressStatus-2.1-Example.xml`

#### 3.2.89 Transport Progress Status Request Schema

Description: A document sent from a transport service provider to a transportation network manager requesting a Transport Progress Status.

Processes involved | Intermodal Freight Management
Submitter role | Transport Service Provider
Receiver role | Transportation Network Manager
Normative schema | `xsd/maindoc/UBL-TransportProgressStatusRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportProgressStatusRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportProgressStatusRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportProgressStatusRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportProgressStatusRequest-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportProgressStatusRequest-2.1-Example.xml`

#### 3.2.90 Transport Service Description Schema

Description: A document sent by a transport service provider to announce the availability of a transport service.

Processes involved | Intermodal Freight Management
Submitter role | Transport Service Provider
Receiver role | Transport User
Normative schema | `xsd/maindoc/UBL-TransportServiceDescription-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportServiceDescription-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportServiceDescription-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportServiceDescription-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportServiceDescription-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportServiceDescription-2.1-Example.xml`

#### 3.2.91 Transport Service Description Request Schema

Description: A document requesting a Transport Service Description, sent from a party with a transport demand (transport user) to a party providing transport services (transport service provider).

Processes involved | Intermodal Freight Management
Submitter role | Transport User
Receiver role | Transport Service Provider
Normative schema | `xsd/maindoc/UBL-TransportServiceDescriptionRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportServiceDescriptionRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportServiceDescriptionRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportServiceDescriptionRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportServiceDescriptionRequest-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportServiceDescriptionRequest-2.1-Example.xml`

#### 3.2.92 Transportation Status Schema

Description: A document to circulate reports of transportation status or changes in status (events) among a group of participants.

Processes involved | Freight Status Reporting
Submitter role | Transport Service Provider
Receiver role | Transport User
Normative schema | `xsd/maindoc/UBL-TransportationStatus-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportationStatus-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportationStatus-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportationStatus-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportationStatus-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportationStatus-2.1-Example.xml`

#### 3.2.93 Transportation Status Request Schema

Description: A document requesting a Transportation Status report.

Processes involved | Freight Status Reporting
Submitter role | Transport User
Receiver role | Transport Service Provider
Normative schema | `xsd/maindoc/UBL-TransportationStatusRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-TransportationStatusRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-TransportationStatusRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-TransportationStatusRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-TransportationStatusRequest-2.5.html`
UBL 2.1 example instance | `xml/UBL-TransportationStatusRequest-2.1-Example.xml`

#### 3.2.94 Unawarded Notification Schema

Description: A document communicating to a tenderer that the contract has been awarded to different tenderer.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer
Normative schema | `xsd/maindoc/UBL-UnawardedNotification-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-UnawardedNotification-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-UnawardedNotification-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-UnawardedNotification-2.5.xsd`
Summary report | `mod/summary/reports/UBL-UnawardedNotification-2.5.html`

#### 3.2.95 Unsubscribe From Procedure Request Schema

Description: A request to unsubscribe from a tendering procedure. Economic Operators can subscribe to a tendering procedure using the Expression Of Interest. Upon subscription, the Economic Operator keeps receiving relevant documentation for the tendering process. The unsubscribe to procedure document allows the Economic Operator to be removed from the list of interested parties.

Processes involved | Pre-award
Submitter role | Tenderer (Economic Operator)
Receiver role | Contracting Authority
Normative schema | `xsd/maindoc/UBL-UnsubscribeFromProcedureRequest-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-UnsubscribeFromProcedureRequest-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-UnsubscribeFromProcedureRequest-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-UnsubscribeFromProcedureRequest-2.5.xsd`
Summary report | `mod/summary/reports/UBL-UnsubscribeFromProcedureRequest-2.5.html`

#### 3.2.96 Unsubscribe From Procedure Response Schema

Description: A document sent from a Contracting Party to the Economic Operator confirming that the latter has been unsubscribed from a tendering procedure.

Processes involved | Pre-award
Submitter role | Contracting Authority
Receiver role | Tenderer (Economic Operator)
Normative schema | `xsd/maindoc/UBL-UnsubscribeFromProcedureResponse-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-UnsubscribeFromProcedureResponse-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-UnsubscribeFromProcedureResponse-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-UnsubscribeFromProcedureResponse-2.5.xsd`
Summary report | `mod/summary/reports/UBL-UnsubscribeFromProcedureResponse-2.5.html`

#### 3.2.97 Utility Statement Schema

Description: A supplement to an Invoice or Credit Note, containing information on the consumption of services provided by utility suppliers to private and public customers, including electricity, gas, water, and telephone services.

Processes involved | Utility Billing
Submitter role | Supplier Accounting Party
Receiver role | Customer Accounting Party
Normative schema | `xsd/maindoc/UBL-UtilityStatement-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-UtilityStatement-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-UtilityStatement-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-UtilityStatement-2.5.xsd`
Summary report | `mod/summary/reports/UBL-UtilityStatement-2.5.html`

#### 3.2.98 Waste Movement Schema

Description: A document used to report the transport of waste.

Processes involved | Waste Shipment Management
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-WasteMovement-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-WasteMovement-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-WasteMovement-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-WasteMovement-2.5.xsd`
Summary report | `mod/summary/reports/UBL-WasteMovement-2.5.html`

#### 3.2.99 Waste Notification Schema

Description: A document used to notify the competent authorities of planned movements of waste.

Processes involved | Waste Shipment Management
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-WasteNotification-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-WasteNotification-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-WasteNotification-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-WasteNotification-2.5.xsd`
Summary report | `mod/summary/reports/UBL-WasteNotification-2.5.html`

#### 3.2.100 Waybill Schema

Description: A transport document describing a shipment It is issued by the party who undertakes to provide transportation services, or undertakes to arrange for their provision, to the party who gives instructions for the transportation services (shipper, consignor, etc.). It states the instructions for the beneficiary and may contain the details of the transportation, charges, and terms and conditions under which the transportation service is provided.

Processes involved | Transport
Submitter role | Freight Forwarder, Carrier
Receiver role | Consignor (or Consignee), Freight Forwarder
Normative schema | `xsd/maindoc/UBL-Waybill-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-Waybill-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-Waybill-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-Waybill-2.5.xsd`
Summary report | `mod/summary/reports/UBL-Waybill-2.5.html`
UBL 2.0 example instance | `xml/UBL-Waybill-2.0-Example-International.xml`

#### 3.2.101 Weight Statement Schema

Description: A document used to report weight or verified mass measurements in the transport chain.

Processes involved | Transport
Submitter role | Sender
Receiver role | Receiver
Normative schema | `xsd/maindoc/UBL-WeightStatement-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-WeightStatement-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-WeightStatement-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-WeightStatement-2.5.xsd`
Summary report | `mod/summary/reports/UBL-WeightStatement-2.5.html`
UBL 2.2 example instance | `xml/UBL-WeightStatement-2.2-Example.xml`

#### 3.2.102 Work Report Schema

Description: A document used to report work performed.

Processes involved | Any collaboration
Submitter role | Seller Supplier Party
Receiver role | Buyer Customer Party
Normative schema | `xsd/maindoc/UBL-WorkReport-2.5.xsd`
Runtime schema | `xsdrt/maindoc/UBL-WorkReport-2.5.xsd`
Endorsed schema (non-normative) | `endorsed/xsd/maindoc/UBL-WorkReport-2.5.xsd`
Endorsed runtime schema (non-normative) | `endorsed/xsdrt/maindoc/UBL-WorkReport-2.5.xsd`
Summary report | `mod/summary/reports/UBL-WorkReport-2.5.html`

### 3.3 UBL 2.5 Common Schemas

#### 3.3.1 UBL 2.5 Common Schemas Introduction

The `xsd/common` directory contains schemas referenced by the document schemas in `xsd/maindoc`. Elements defined in the common schemas constitute a library of reusable business data components from which the UBL document schemas are (and customized document types may be) assembled. For a discussion of the way schemas are assembled, see Appendix D, The UBL 2.5 Data Model (Non-Normative).

The name of each schema file together with a brief description of its contents is given below.

#### 3.3.2 Reusable BIE Schemas

> CommonBasicComponents

> > `xsd/common/UBL-CommonBasicComponents-2.5.xsd`

> > The CommonBasicComponents schema defines the global Basic Business Information Entities (BBIEs) that are used throughout UBL, serving, in effect, as a “global BBIE type database” for constructing documents. BBIEs are the “leaf nodes” of UBL documents, corresponding to individual data fields in traditional printed business forms.

> CommonAggregateComponents

> > `xsd/common/UBL-CommonAggregateComponents-2.5.xsd`

> > The CommonAggregateComponents schema defines the Aggregate Business Information Entities (ABIEs) that are used throughout UBL, serving, in effect, as an “ABIE type database” for constructing the main documents.

> > For a discussion of the terms Basic Business Information Entity and Aggregate Business Information Entity, see Section D.2, “Business Information Entities”.

#### 3.3.3 Reusable Data Type Schemas

> CCTS_CCT_SchemaModule

> > `xsd/common/BDNDR-CCTS_CCT_SchemaModule-1.1.xsd`

> > This schema provides Core Component Types as defined by [CCTS]. These types are used to construct higher-level data types in a standardized and consistent manner. The normative UBL version of this BDNDR schema is defined by UN/CEFACT. The endorsed UBL revision of this schema has been created by the UBL committee to reflect deprecated secondary components going forward. Neither file should be modified by the user. These files are imported by the UBL Unqualified Data Type Schema, and their types are the basis upon which UBL’s unqualified data types are defined.

> UnqualifiedDataTypes

> > `xsd/common/BDNDR-UnqualifiedDataTypes-1.1.xsd`

> > This schema defines Unqualified Data Types for BBIE definition. These types are derived from the Core Component Types in `CCTS_CCT_SchemaModule`. Where an unqualified type is not based solely on an XSD data type, all CCTS supplementary components are made available in the UBL UDT from the CCTS CCT.

> QualifiedDataTypes

> > `xsd/common/UBL-QualifiedDataTypes-2.5.xsd`

> > [CCTS] permits the definition of Qualified Datatypes as derivations from CCTS-specified Unqualified Datatypes. In UBL 2.5, all data type qualifications are expressed in the [CVA] file `cva/UBL-DefaultDTQ-2.5.cva` . The UBL-QualifiedDataTypes-2.5.xsd file in the UBL 2.5 release has declarations for each qualified type being only an unmodified restriction of the base unqualified data type, thus adding no constraints. The Common Basic Components type declarations point to the XSD qualified types where the BBIEs are qualified in the CCTS model, but all BBIEs are effectively unqualified.

> > See Appendix E, Data Type Qualifications in UBL (Non-Normative) for information regarding UBL 2.5 data type derivation.

#### 3.3.4 Extension Content Schemas

UBL extensions enable the validation of user-defined additions to the standard schemas, which are sometimes needed to satisfy legal requirements and can perform other useful functions as well. For further information regarding the UBL extension mechanism, see [Customization].

> CommonExtensionComponents

> > `xsd/common/UBL-CommonExtensionComponents-2.5.xsd`

> > The CommonExtensionComponents schema defines the extension scaffolding used in all UBL document types, providing metadata regarding the use of an extension embedded in a UBL document instance (see Section 3.6, “Extension Methodology and Validation”).

> ExtensionContentDatatype

> > `xsd/common/UBL-ExtensionContentDataType-2.5.xsd`

> > The ExtensionContentDataType schema specifies the actual structural constraints of the extension element containing the foreign non-UBL content. By default, the version of this schema provided in the UBL 2.5 distribution imports the UBL Signature Extension module and namespace (see Section 3.3.5, “Signature Extension Schemas”). This both enables support by default for digital signatures and serves as an illustration of the way extensions are defined in UBL.

> > This is the only schema intended to be modified by a user when it is necessary to support the constraints of additional user-defined extension structures. This is accomplished by adding other schema import directives, as is already done for the signature extension and that extension’s use of XAdES. Without adding additional directives, the user’s constructs found under the extension point will not be validated.

> > No changes are required to the complex type declaration for `ExtensionContentType`. The original declaration is considered the normative declaration but may be modified by users to accommodate restrictions they impose on the presence of extensions. To promote interoperability, imposing such restrictions on the type declaration is not recommended.

#### 3.3.5 Signature Extension Schemas

UBL 2.5 schemas are supplied with a predefined standard extension that supports digital signatures; see Section 3.5, “Schema Dependencies” and Section 6.4, “UBL Extension for Enveloped XML Digital Signatures” for further information regarding the UBL extension supporting digital signatures such as XAdES.

> CommonSignatureComponents

> > `xsd/common/UBL-CommonSignatureComponents-2.5.xsd`

> > The CommonSignatureComponents schema defines the scaffolding structures containing the IETF/W3C Digital Signature information XML elements related to either the entire document or particular signature business objects found within the document.

> SignatureAggregateComponents

> > `xsd/common/UBL-SignatureAggregateComponents-2.5.xsd`

> > The SignatureAggregateComponents schema defines those Aggregate Business Information Entities (ABIEs) that are used for signature constructs not defined in the common library.

> SignatureBasicComponents

> > `xsd/common/UBL-SignatureBasicComponents-2.5.xsd`

> > The SignatureBasicComponents schema defines those Basic Business Information Entities (BBIEs) that are used for signature constructs not defined in the common library.

> > For a discussion of the terms Basic Business Information Entity and Aggregate Business Information Entity, see Section D.2, “Business Information Entities”.

> xmldsig-core-schema

> > `xsd/common/UBL-xmldsig1-schema-2.5.xsd`

> > This is a copy of the IETF/W3C Digital Signature core schema file, modified only to include a header and to import the renamed other digital signature schema fragments.

> xmldsig-core-schema

> > `xsd/common/UBL-xmldsig11-schema-2.5.xsd`

> > This is a copy of the IETF/W3C Digital Signature core schema file, modified only to include a header.

> xmldsig-core-schema

> > `xsd/common/UBL-xmldsig-core-schema-2.5.xsd`

> > This is a copy of the IETF/W3C Digital Signature core schema file, modified only to include a header and to remove the unnecessary PUBLIC and SYSTEM identifiers from the DOCTYPE.

> XAdES01903v132-201601

> > `xsd/common/UBL-XAdES01903v132-201601-2.5.xsd`

> > This is a copy of the XAdES v1.3.2 schema file, modified only to change the importing URI for the XML digital signature core schema file.

> > The presence of this schema file does not oblige the use of XAdES. It is provided only as a convenience for those users who choose to include an XAdES extension inside of a digital signature.

> XAdES01903v141-201601

> > `xsd/common/UBL-XAdES01903v141-201601-2.5.xsd`

> > This is a copy of the XAdES v1.4.1 schema file, modified only to change the importing URI for the XAdES v1.3.2 and the XML digital signature core schema files.

> > The presence of this schema file does not oblige the use of XAdES. It is provided only as a convenience for those users who choose to include an XAdES extension inside of a digital signature.

### 3.4 Endorsed Schemas

To support implementers in identifying deprecated structures, UBL 2.5 introduces a set of endorsed schemas. These are derived from the normative runtime schemas by removing elements and components marked as deprecated in this version. Endorsed schemas may be used for validation or tooling purposes to ensure that a UBL instance does not include deprecated content. Their use is optional and does not affect conformance.

The endorsed schemas and associated documentation can be found in the endorsed/ folder.

### 3.5 Schema Dependencies

The following diagram details the dependencies among the schema modules making up a UBL 2.5 document schema.

Figure 90. UBL Schema Dependencies

The UBL schemas define in ExtensionContentDataType the content of each extension to be a single element in any namespace. The schemas are delivered supporting the UBL standardized extension for digital signatures (namespaces with prefixes `sig:`, `sac:` and `sbc:`, though the prefix values are not mandatory) by importation. For more information regarding the signature extension, see Section 6.4, “UBL Extension for Enveloped XML Digital Signatures”.

As shown at the bottom and right in this diagram, a set of XSD schemas supporting a different user-customized extension can be engaged by replacing the delivered ExtensionContentDataType schema fragment with one also importing the required custom schema apex fragment that defines the custom content (depicted using namespaces with example prefixes `xxx:`, `xac:` and `xbc:`).

The namespaces shown in the shaded boxes (with prefixes `qdt:`, `udt:`, `ccts-cct:` and `ccts:`) exist for the management of the schema components only and have no utility in UBL XML document instances. Declaring unused namespaces in an XML instance is superfluous and does not impact on conformance, but having them present may be confusing or misleading to the reader.

The relationship of the UBL schemas to the UBL data model is illustrated in Figure D.1, “UBL Data Model Realization”.

### 3.6 Extension Methodology and Validation

#### 3.6.1 Extension Methodology Overview

There exist many established XML vocabularies expressing useful semantics for information exchange. The W3C digital signature vocabulary is but one example of such a vocabulary that has its own governance, life-cycle and publication schedule. It is futile to attempt to mimic all of an established vocabulary’s constructs as new UBL constructs and keep up with changes made in their life cycle. Moreover, it is untenable to ask users to re-frame all of the content of an established vocabulary into any such new UBL constructs.

Also, user communities may have the need to exchange information that is found neither in the UBL schemas nor in an established XML vocabulary. A colloquial XML vocabulary can be designed within which this information is expressed. If the user community wish to promote the inclusion of their additional semantics into the UBL specification, the UBL Maintenance Governance Procedures [Governance] outlines how one would use the extension point and submit proposals for enhancements.

The UBL extension scaffolding allows the inclusion of multiple extensions in any UBL instance, be they structured by established or colloquial XML vocabularies.

#### 3.6.2 Extension Expression

Every UBL ABIE is allowed to contain extension content using the element `<ext:UBLExtensions>` in the extension namespace `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​CommonExtensionComponents-2` (there are no constraints on the namespace prefix, only the namespace URI). This schema-defined element will be the first child element of the ABIE element, appearing before every BIE child of the ABIE. It will contain one or more `<ext:UBLExtension>` element children.

Each `<ext:UBLExtension>` element contains the metadata and content of a single extension. All extension metadata is optional, and the extension content is mandatory. The extension content element contains as its only child the apex element, in a namespace other than the UBL extension namespace, of an arbitrary XML structure.

Table 2. UBL Extension Metadata And Content

Element name | Card. | Type | Description
--- | --- | --- | ---
`cbc:ID` | 0..1 | Identifier | An identifier for the Extension assigned by the creator of the extension.
`cbc:Name` | 0..1 | Name | An identifier for the Extension assigned by the creator of the extension.
`ext:ExtensionAgencyID` | 0..1 | Identifier | An agency that maintains one or more Extensions.
`ext:ExtensionAgencyName` | 0..1 | Name | The name of the agency that maintains the Extension.
`ext:ExtensionVersionID` | 0..1 | Identifier | The version of the Extension.
`ext:ExtensionAgencyURI` | 0..1 | Identifier | A URI for the Agency that maintains the Extension.
`ext:ExtensionURI` | 0..1 | Identifier | A URI for the Extension.
`ext:ExtensionReasonCode` | 0..1 | Code | A code for reason the Extension is being included.
`ext:ExtensionReason` | 0..1 | Text | A description of the reason for the Extension.
`ext:ExtensionContent` | 1 | Element | The definition of the extension content.

An excerpt of the example instance ``xml/MyTransportationStatus.xml`` that includes a single extension without extension metadata is as follows:

    <TransportationStatus
    xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
    xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
    xmlns="urn:oasis:names:specification:ubl:schema:xsd:TransportationStatus-2">

      <!--this document needs additional information not defined by the UBL TC-->
      <ext:UBLExtensions>
        <ext:UBLExtension>
          <ext:ExtensionContent>
            <mec:Additional xmlns:mec="urn:X-MyCompany:Extension"
                            xmlns:mac="urn:X-MyCompany:Aggregate"
                            xmlns:mbc="urn:X-MyCompany:Basic">

              <mac:QualificationLevel>
                <cbc:ID>L1</cbc:ID>
                <cbc:Description>Level 1</cbc:Description>
                <mbc:LevelPrerequisite>Level0</mbc:LevelPrerequisite>
              </mac:QualificationLevel>
              ...
            </mec:Additional>
          </ext:ExtensionContent>
        </ext:UBLExtension>
      </ext:UBLExtensions>

      <!--the remainder is stock UBL-->
      <cbc:UBLVersionID>2.1</cbc:UBLVersionID>
      <cbc:CustomizationID>urn:X-demo:TransportShipments</cbc:CustomizationID>
      ...
    </TransportationStatus>

#### 3.6.3 Extension Validation

The UBL Digital Signature extension described in Section 6, “UBL Digital Signatures” is built into the UBL distribution and validates transparently.

Users wishing to validate other extensions found in the instance simply revise the `UBL-ExtensionContentDataType-2.5.xsd` schema fragment. An `<xsd:import>` directive is added to incorporate the schema constraints of the apex of another extension to be validated in the single pass of XSD validation. Figure 90, “UBL Schema Dependencies” shows the replacement of the schema fragment with one in which user-defined extension modules with namespaces `ext:`, `xxx:`, `xac:`, and `xbc:` augment the digital signature extension modules with namespaces `ext:`, `sig:`, `sac:`, `sbc:` and `ds:`.

Due to limitations of W3C Schema validation semantics (this is not the case in RELAX NG [RELAX NG], for example), the apex element of the extension in the instance being validated cannot be constrained solely to the apex element declared. W3C Schema’s lax validation permits any element declared in any schema fragment to be the apex of an extension. Thus, an instance will pass when a known extension element not permitted by the user to be an apex element is in the place of an apex element. This is simply regarded by downstream processes as an unknown extension and will likely be ignored.

#### 3.6.4 Notes For Extension Creators

The following points ought to be noted:

- Extension designers ought to follow the example by providing separate namespaces for apex element, aggregate constructs, and basic constructs if they wish the new items to be considered for inclusion in future UBL releases. This structures the new items for inclusion in the UBL common library. See ``xml/MyTransportationStatus.xml`` for a document instance exemplifying the recommended treatment of namespaces in a colloquial XML vocabulary.

- Whenever possible, one ought to use existing UBL common library aggregate and basic constructs in extensions rather than inventing new items with the same semantics. However, a common library aggregate construct ought to be used only when the entire aggregate and all of its descendants are applicable in the extension context without any changes. If any items need to be removed, then a new extension aggregate with a new local name ought to be used. If all the constructs in the common library aggregate are applicable but some items need to be added, then a new extension aggregate with the same name ought to be created by adding the new constructs to a copy of the common library aggregate.

The UBL Digital Signature extension described in Section 6, “UBL Digital Signatures” has been modeled as an example to follow when designing and writing other custom extensions.

## 4 Additional Document Constraints

### 4.1 Additional Document Constraints Introduction

In addition to the UBL document constraints formally expressed by the schemas in Section 3, “UBL 2.5 Schemas”, UBL mandates several other rules governing conforming UBL instances that are incapable of being expressed using W3C Schema. These additional UBL document rules, addressing XML instance [XML] validation, character encoding, and empty elements, are specified below.

### Note

These rules first appeared in the OASIS UBL 1.0 and UBL 1.0 NDR Standards. They are listed here because logically they belong with the great majority of UBL instance constraints specified in the schemas. To aid in coordinating references between these various publications, the rules below retain their original “IND” labels. The former IND4 was removed in the revision process leading to UBL 2.0.

### Note

See Section F.4, “Customizing the Default XSLT File” for the reference to an illustrative example of a script implementing checks of those of these tests that can be tested with Schematron [SCH].

Additional document constraints do not apply to the arbitrary content of extensions expressed in a UBL document as described in Section 3.6, “Extension Methodology and Validation”.

### 4.2 Validation

The UBL library and document schemas are targeted at supporting business information exchanges. Business information exchanges require a high degree of precision to ensure that application processing and corresponding business actions are reflective of the purpose, intent, and information content agreed to by both trading partners. Schemas provide the base mechanism for ensuring that instance documents do in fact support these requirements.

> [IND1] All UBL instance documents SHALL validate to a corresponding schema.

UBL recommends a two-phase approach for validation of rules related to specific data content (such as to check of code list values). See Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative) for a description of this approach.

### 4.3 Character Encoding

XML supports a wide variety of character encodings. Processors SHALL understand which character encoding is employed in each XML document. XML 1.0 supports a default value of UTF-8 for character encoding, but best practice is always to identify the character encoding being employed.

> [IND2] All UBL instance documents SHALL identify their character encoding within the XML declaration.

Example:

> `<?xml version="1.0" encoding="UTF-8"?>`

UBL, as an OASIS TC, is obligated to conform to agreements OASIS has entered into. OASIS is a liaison member of the ISO IEC ITU UN/CEFACT eBusiness Memorandum of Understanding Management Group (MOUMG). Resolution 01/08 (MOU/MG01n83) requires the use of UTF-8.

> [IND3] In conformance with ISO IEC ITU UN/CEFACT eBusiness Memorandum of Understanding Management Group (MOUMG) Resolution 01/08 (MOU/MG01n83) as agreed to by OASIS, all UBL XML SHOULD be expressed using UTF-8.

Example:

> `<?xml version="1.0" encoding="UTF-8"?>`

### 4.4 Empty Elements

Use of empty elements within XML instance documents is a source of controversy for a variety of reasons. An empty element does not simply represent data that is missing. It may express data that is not applicable for some reason, trigger the expression of an attribute, denote all possible values instead of just one, mark the end of a series of data, or appear as a result of an error in XML file generation. Conversely, missing data elements can also have meaning—that the trading partner does not provide that data. In information exchange environments, different trading partners may allow, require, or ban empty elements. UBL takes the position that empty elements do not provide the level of assurance necessary for business information exchanges and therefore are not to be used.

> [IND5] UBL-conforming instance documents SHALL NOT contain an element devoid of content or containing null values.

An important implication of this rule is that every container UBL element will contain at least one of its possible constituents even if all of its possible constituents are declared to be optional.

To ensure that no attempt is made to circumvent rule IND5, UBL also prohibits attempting to convey meaning by omitting an element (i.e., an optional element may be omitted, but that omission cannot carry a specific meaning upon which an action is conditioned).

> [IND6] The absence of a construct or data in a UBL instance document SHALL NOT carry meaning.

These constraints are consistent with the principle described in Section 2.2.2, “Manifest Values” that the recipient is to receive all pertinent information manifest in the UBL document. Relying on the absence of a construct would require the recipient to know of the sender’s intention with that construct being absent. For reliable communication this cannot be assumed.

### 4.5 Natural Language Text Elements

Natural language text elements such as Note and Description appear throughout the UBL document model. They are of the same unstructured Text type as character data fields that are not intended for natural language prose, such as Address Line.

All natural language text elements in UBL are repeatable within some container; for example, all Note elements are repeatable as adjacent siblings under a common parent. Despite appearances, these multiple text elements are not intended for the representation of separate paragraphs or divisions within a single parent text; rather, each Note element (for example) contains the entire text of the note in one of the languages in which the note is provided. In other words, UBL allows 0..n Note or Description elements in order to present the same note or description in 0..n languages, not to reflect structures such as paragraphs internal to a text in a single language. Since UBL text elements are intended for unstructured sequences of character data, more complex texts ought to be located in external documents and associated with the UBL message using document references.

UBL enforces this restriction with the following two rules:

> [IND7] Where two or more sibling “Text. Type” elements of the same name exist in a document, no two can have the same “languageID” attribute value.

> [IND8] Where two or more sibling “Text. Type” elements of the same name exist in a document, no two can omit the “languageID” attribute.

### 4.6 Empty Attributes

Attributes in UBL are used exclusively for supplemental components of the data types of basic business information entities. An empty attribute conveys no information but may be the source of confusion for users.

> [IND9] UBL-conforming instance documents SHALL NOT contain an attribute devoid of content or containing null values.

### 4.7 Semantic definitions

The UBL Technical Committee has ascribed a definition to each of the business objects in UBL. These definitions provide important semantic context for the interpretation of the content. They are found in the normative XSD Schemas and are transcribed into the XML model ODS spreadsheet, XLS spreadsheet, and HTML documentation.

From UBL 2.5 onward, these definitions form the basis for an optional semantic conformance level, as defined in Section 7.2, “Semantic Conformance”. Implementations that declare semantic conformance shall ensure that the business content of UBL document instances aligns with the intended meaning of each component as described in these definitions.

Implementations that declare only syntactical conformance should also follow these semantic definitions to support meaningful interoperability and consistent interpretation of business data.

## 5 UBL Component Deprecation

UBL 2.5 introduces the concept of component deprecation. A deprecated component is still valid and fully supported in the UBL 2.5 schemas and artefacts, but it’s use is discouraged due to known limitations, evolving requirements, or duplicated functionality. Deprecated components will potentially be removed in a future major version.

Deprecation is a forward-looking indication to implementers and user communities. It does not affect conformance, interoperability, or backwards compatibility for UBL instances produced using previous minor versions of UBL. Documents using deprecated components remain valid and conformant to UBL 2.5.

Deprecation applies to:

- Entire document types

- Reusable components (ABIEs, BBIEs, ASBIEs)

- Element cardinalities

- Element definitions

- Supplementary components (i.e., data type attributes)

Deprecated components are clearly marked in the Section 3.2, “UBL 2.5 Document Schemas” and in the Appendix C, Revision History (Non-Normative) of this specification. Implementers, user communities, and developers of implementation profiles are encouraged to avoid deprecated structures when possible.

In addition, a set of Section 3.4, “Endorsed Schemas” has been included in the UBL distribution to help implementers detect the presence of deprecated components in UBL instances. These schemas exclude all deprecated content while preserving validation integrity.

## 6 UBL Digital Signatures

### 6.1 UBL Digital Signatures Introduction (Non-Normative)

This section provides the context for the use of UBL digital signatures and then defines profiles for digital signatures in UBL and a specific UBL extension that implements one specific kind of digital signature.

There are certain circumstances in which it becomes necessary to digitally sign UBL documents. This can be the case when creating tenders or invoices. For example, in some countries digitally signing electronic invoices is required by law.

UBL (without extension) has a data structure (known as Signature) for defining digital signatures and a number of elements for using such signatures in a document. To integrate UBL into the larger standards environment, this section associates the IETF/W3C XML Digital Signature specification [xmldsig] (a general framework for digitally signing XML documents) with the signature elements provided by UBL. These include specific provisions to use extensions supporting [XAdES] Digital Signatures (ETSI EN 319 132-1), when UBL digitally-signed documents are necessary to satisfy additional legal and/or technical requirements.

One important benefit of XAdES is that it allows the addition of information and timestamps that extend the validity of a signature beyond the expiration or revocation of the electronic certificates involved in signature verification or the obsolescence of the underlying cryptographic keys and algorithms.

XAdES extends XMLDSig also aiming to support advanced and qualified electronic signatures or seals as specified in the European [eIDAS] regulation and other similar legal frameworks.

Use of XAdES and the concept of Advanced Electronic Signature or Seal is not limited to Europe, as it is being adopted by many countries outside the EU, and, is the basis for the international standard ISO 14533-2:2012 [XAdES (ISO)].

### Note

Any aspect beyond the specification of the use of digital signatures in UBL documents is not in scope of UBL. Therefore, procedures for creation and validation of digital signatures, management of signature keys, assessment of the suitability and reliability of cryptographic keys and algorithms are out of UBL scope.

The two digital signature profiles provided in UBL represent two approaches to signing UBL documents: enveloped and detached. Each of these approaches can use either XMLDSig alone or may also include XAdES features.

### 6.2 XML Digital Signatures

#### 6.2.1 XML Digital Signatures Overview (Non-Normative)

Digital signatures, when appropriate rules and functions are used, can support the following properties for a document:

- Integrity: the document has not been modified since it was signed.

- Authenticity: the identity of the party creating the signature that applies to the document is certified.

- Non-repudiation (content commitment): the document signer cannot deny its involvement in creating and/or approving the document (depending on the context and signer/seal creator role).

- Anteriority: associating a time-stamp to the signature, a proof that the signature (and therefore the signed document) existed before a certain point in time.

XMLDSig defines XML Signature processing rules and syntax to provide integrity and message authentication and/or signer authentication services for data of any type, whether located within the XML that includes the signature or elsewhere. [RFC3161] specifies a standard format for time-stamping that can be used with XMLDSig and XAdES.

That XAdES is completely embedded in XMLDSig ensures that the UBL profiles for XMLDSig are sufficient to support XAdES. These profiles can also support other existing or future extensions of XMLDSig that are completely embedded in XMLDSig syntax. These other possible UBL digital signature profiles may or may not use the XAdES extensions to XMLDSig.

Compliance of implementations of electronic signatures and seals, based on digital signature technologies, to a specific context may depend on local regulations in place and specific provisions set by the authority issuing the certificates supporting the electronic signature or seal. XAdES is designed to help in fulfilling legal requirements, but any aspect beyond specification of digital signature formats are out of scope of UBL. Users are advised to examine the specific policies of the authority that issued the certificate and regulations applicable to their specific context of use.

The UBL digital signature implementation provides the following properties:

- A signed UBL document will be processed correctly by compliant UBL software (including UBL software that is not XMLDSig/XAdES aware) and by compliant XMLDSig/XAdES validation software (including software that is not UBL aware).

- No change is required for UBL or XMLDSig/XAdES syntaxes.

- The extension mechanism specified here supports any XMLDSig/XAdES form, leaving to the implementer the choice of the most appropriate one according to the specific legal framework or application context; support for signature profiles specified in XAdES is, however, recommended to improve interoperability (see Section 6.2.3, “XAdES”).

#### 6.2.2 XML Signature Types

An XML signature is a XMLDSig `<ds:Signature>` element and it may be (non-exclusively) described (per XMLDSig and XAdES) as detached, enveloping, or enveloped.

- Detached. The signature applies to content that is external to the `<ds:Signature>` element and can be identified via a URI or transform. Consequently, the signature is “detached” from the content it signs. This definition typically applies to separate data objects, but it also includes the case where the `<ds:Signature>` and signed data object are sibling elements residing within the same XML document.

- Enveloping. The signature applies to content found within a `<ds:Object>` element of the signature itself. The `<ds:Object>` (or its content) is identified via a `<ds:Reference>` (using a URI fragment identifier or transform).

- Enveloped. The signature applies to the XML content that contains `<ds:Signature>` as an element. Implementations of enveloped signature(s) need to take care not to include the signature in the calculation of the signature value.

UBL defines two profiles for signing a UBL document: enveloped and detached.

#### 6.2.3 XAdES

XAdES builds on XMLDSig by the incorporation of signed and unsigned qualifying properties (for which XAdES provides XML Schema definitions) that address some additional requirement, such as the long term validity of digital signatures, in a number of use cases.

XAdES clause 6 defines four levels of baseline signatures, meant to provide the basic features necessary for a wide range of use cases and applicable to a wide range of communities aiming to achieve a high degree of digital signature interoperability.

The XAdES baseline signature levels address incremental requirements to maintain the validity of the signatures over the long term, and to encompass their life cycle. This is done in a way that a certain level always addresses all of the requirements addressed at levels that are below it, each level requiring the precedence of certain XAdES qualifying properties.

More specifically:

- XAdES-B-B level provides requirements for the incorporation of signed and unsigned qualifying properties at signature generation;

- XAdES-B-T level provides requirements for the generation and inclusion, for an existing signature, of a trusted token proving that the signature (and, consequently, the signed document) existed at a certain date and time;

- XAdES-B-LT level provides requirements for the incorporation of all the material required for validating the signature, aiming to tackle the long-term availability of the validation material;

- XAdES-B-LTA level provides requirements for the incorporation of electronic time-stamps that allow validation of the signature long after its generation, aiming to tackle the long-term availability and integrity of the validation material.

A conforming XAdES signature generation and verification implementation SHOULD support at least XAdES-B-B.

#### 6.2.4 Requirements for Digital Signatures in UBL

The main requirements to be addressed when choosing a specific signature profile can be divided into the following categories:

- Legal requirements. In some countries a digital signature is required on electronic invoices. It can also be compulsory in electronic procurement, especially in a cross-border context, to have a digital signature on the key document exchanged, e.g., a response to a request for tender. Another important legal requirement is long-term document preservation, for a storage period that in general is specific to each country and can span many years.

- Business requirements. A digital signature can reduce the risks associated with a business transaction (e.g., content commitment of a commercial order, proof-of-origin and integrity of an invoice), and its use can be provided for in the interchange agreement between parties. The choice of the signature format and its application is a key factor in achieving interoperability.

- Process requirements.The presence of the digital signature SHOULD NOT add any specific constraints on UBL document content processing. If the signed document remains a valid UBL document, the signature can be verified at any stage of the process: it SHOULD be possible to validate a signed document at any time “as is” by UBL and XAdES verifiers.

Archiving of UBL documents also can be an important issue to consider, as document preservation has specific requirements. See, for example, [ETSI TS 119 511] and [ETSI TS 119 512].

### 6.3 Profiles for UBL Digital Signatures

#### 6.3.1 Signature Profile Introduction

UBL specifies two profiles for use in digitally signing UBL documents:

- Enveloped Signature Profile: One or more signatures are added to the UBL document inside a single identifiable and dedicated UBL extension. Other UBL extensions MAY be present provided they have different identifiers so that they can be distinguished from the one that contains the document signature(s). This profile is defined such that UBL content processing can be separated from electronic signature processing, both on the issuing side and on the receiving side, and specific applications can be devoted to each function. The UBL application does not need to be electronic signature aware, and the electronic signature application does not need to be involved in the management of the UBL syntax, allowing to reuse existing applications. A signature business object in the UBL document may reference a particular electronic signature in the extension.

- Detached Signature Profile: The signature is outside the UBL document content in another information resource. Some mechanism has to be defined by the implementer to send or make available the signature to the recipient. This method of signing may be identified in the UBL document.

The two profiles for adding one or more digital signatures to a UBL document are based on XMLDSig. These profiles and their associated methods decouple the UBL document to be signed from any specificity in the digital signature standard adopted within XMLDSig. The XAdES standard is an example of a standard use of XMLDSig. UBL users may use any standard built on XMLDSig or simply use XMLDSig as it stands without any extensions.

Managing XML signatures inside of a UBL document is described in Section 6.3.2, “Enveloped XML Signatures in UBL Documents”. Managing XML signatures outside of a UBL document is described in Section 6.3.3, “Detached XML Signatures for UBL Documents”.

The main advantage of the enveloped profile is that the signature(s) are embedded in the UBL document (which syntactically remains a valid UBL document). This means that the transport of the signatures is guaranteed by the UBL document delivery infrastructure, but the generation of the UBL extension that contains the signature needs to be implemented.

The detached signature profile has a simpler preparation phase and signature procedure, but specific means to send or make available the signature(s) to the recipient have to be implemented. A standard container like [ODFP] can be used to associate the UBL document with detached electronic signature(s) that apply to it. The simple [ASiC] container (ASiC-S) can be created later than signature generation in such a way that it contains a UBL document and one or more detached signatures that apply to it.

### Note

XMLDSig and XAdES signatures can be created and verified using [DSS-v2.0] signature signing and verifying protocol.

### Note

The references to [XAdES] and [ASiC] standards have been updated from UBL 2.2 to UBL 2.3. Refer to [ETSI TS 119 112] for the most significant differences between XAdES and ASiC ENs and the formerly referenced TSs

#### 6.3.2 Enveloped XML Signatures in UBL Documents

##### 6.3.2.1 Enveloped Signature Introduction

The enveloped signature profile supports one or more signatures to be applied to a UBL document and embedded in the UBL document itself inside a dedicated extension. This profile can be used with all UBL documents under their respective `<ext:UBLExtensions>` extension points. UBL syntax implementing the enveloped profile, together with examples of its use, are provided in Section 6.4, “UBL Extension for Enveloped XML Digital Signatures”.

The user CAN choose to indicate in a `<cac:Signature>` element that the signature details are found in the signature extension. The URI `urn:oasis:names:specification:ubl:dsig:enveloped` is reserved as a value for `<cbc:SignatureMethod>` to signal this. The URI `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped:​xades` CAN be used as a value for `<cbc:SignatureMethod>` to signal when XAdES is in use. Additionally, the user CAN include a `<cbc:ID>` child of `<cac:Signature>` for referencing purposes from the enveloped signature. The identifier used can be any value, but for convenience the URI of a URN beginning with `urn:​oasis:​names:​specification:​ubl:​signature:`, ending with the local name of the parent of the signature business object, and optionally followed with a colon and number, as in the `urn:​oasis:​names:​specification:​ubl:​signature:​IssuerEndorsement` example, is reserved for this purpose for UBL users. As with all identifiers, the identifier SHOULD exist and SHOULD be unique across all identifier values. An example is as follows:

     <cac:Signature>
       <cbc:ID>urn:oasis:names:specification:ubl:signature:Invoice</cbc:ID>
       <cbc:SignatureMethod
         >urn:oasis:names:specification:ubl:dsig:enveloped</cbc:SignatureMethod>
       <cac:SignatoryParty>
         <cac:PartyIdentification>
           <cbc:ID>MyParty</cbc:ID>
         </cac:PartyIdentification>
       </cac:SignatoryParty>
     </cac:Signature>

See Section 6.5, “Digital Signature Examples” for a sample UBL Invoice that references an enveloped digital signature.

##### 6.3.2.2 Enveloped Signature Syntax and Transformation

Two different syntaxes are used in UBL enveloped signatures: UBL-specified scaffolding under the extension point used to contain the signature information and IETF/W3C-specified information for each digital signature.

A transformation element is also present to prevent a signature from being invalidated by the subsequent addition of another signature.

These features are described in detail in Section 6.4.5, “Digital Signature Structure” and Section 6.4.6, “Transformation”.

#### 6.3.3 Detached XML Signatures for UBL Documents

##### 6.3.3.1 Detached Signature Introduction

This profile supports the application to a UBL document of one or more signatures located outside of the document itself in some other resource.

It is important to note that externally signing a UBL document with a detached signature imposes no requirements on the UBL document itself. Such a signature, in any kind of signature container, can digitally sign the content of a UBL document regardless of whether this is reflected in the document.

Before a detached signature conforming IETF/W3C XML digital signature is generated, the user CAN choose to signal in their UBL document that it is so signed. The URI value `urn:​oasis:​names:​specification:​ubl:​dsig:​detached` is reserved to indicate that the detached signature is an IETF/W3C XML digital signature. The URI `urn:​oasis:​names:​specification:​ubl:​dsig:​detached:​xades` CAN be used as a value to signal when XAdES is in use. The value is used in the `<cbc:SignatureMethod>` child of `<cac:Signature>`.

If the location of the digital signature is known, the user CAN choose to indicate the location in a `<cbc:URI>` child element of a `<cac:ExternalReference>` child element of a `<cac:DigitalSignatureAttachment>` element.

Following is a complete example of a `<cac:Signature>` business object that might be found in a UBL instance:

     <cac:Signature>
       <cbc:ID>urn:oasis:names:specification:ubl:signature:Invoice</cbc:ID>
       <cbc:SignatureMethod
         >urn:oasis:names:specification:ubl:dsig:detached</cbc:SignatureMethod>
       <cac:SignatoryParty>
         <cac:PartyIdentification>
           <cbc:ID>MyParty</cbc:ID>
         </cac:PartyIdentification>
       </cac:SignatoryParty>
       <cac:DigitalSignatureAttachment>
         <cac:ExternalReference>
           <cbc:URI>sigFile.xml</cbc:URI>
         </cac:ExternalReference>
       </cac:DigitalSignatureAttachment>
     </cac:Signature>

### Note

A document with multiple detached signatures is simply a document that is co-signed. By the appropriate use of the `<ds:Reference>` element pointing to the UBL document from a detached signature file, all such signatures are signing the content of the document but not each other. A countersigning document signature, on the other hand, signs signatures already created for and external to or present in the document at the time it is countersigned. A digital countersignature `<ds:Signature>`, which may be located internal to the UBL document or in an external file, includes additional `<ds:Reference>` elements, each pointing either to the `<ds:Signature>` element or `<ds:SignatureValue>` element child of the signature being signed. In the first case, where the signature is detached, the `<ds:Reference>` element points to the external file for that signature; in the second case, where the signature is enveloped, the `<ds:Reference>` element points to the Id= value of either the `<ds:Signature>` or `<ds:SignatureValue>` element for that signature.

### Note

XAdES supports an alternative countersignature approach where a `<ds:Signature>` element pointing to the countersigned signature’s `<ds:SignatureValue>` is embedded in the `<ds:Object>` of the countersigning signature. The inclusion of an alternative method in this specification does not prohibit this approach.

See Section 6.5, “Digital Signature Examples” for a sample UBL Invoice that references a detached digital signature.

##### 6.3.3.2 Digital Signature Transformation (Detached Signatures)

The content to be signed is addressed in the `URI=` attribute of `<ds:Reference>`. For example:

    <ds:Reference URI="myInvoice.xml">

An option when using detached digital signatures is to express in XPath that address that qualifies all nodes in the referenced content to be included in the calculation of the digital signature hash. For a signature calculated for a document to remain valid, none of the signed information can change, nor can any information be added or removed from that portion of the document included in the hash calculation.

Consider the need to create a detached signature for a UBL file in which there already exists an enveloped signature. The following transformation element in a digital signature flexibly prevents the signature being invalidated by the subsequent addition of any signatures using the enveloped profile within the extension of the document being signed:

       <Transform
         Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
        <XPath xmlns:sig=
          "urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2">
          count(ancestor-or-self::sig:UBLDocumentSignatures)=0
        </XPath>
       </Transform>

A non-final transformation algorithm used in the detached signature signs all content outside of any enveloped signatures in the UBL document. When the UBL document does not already have an enveloped signature, one cannot be added without invalidating the detached signature. In effect, the entire document has been signed and cannot change, but the addition of the scaffolding for a signature constitutes a change. However, when the UBL document already has an enveloped signature, other signatures can be added without invalidating the detached signature, because the scaffolding doesn’t change when other signatures are added within the existing scaffolding; the non-final transformation algorithm does not include the signatures found in the existing scaffolding. When there is no preexisting enveloped signature, the entire document SHALL be signed in the detached signature.

To sign only a portion of a UBL document, an appropriate [XPointer] address SHOULD be used because UBL business object elements do not have attributes of type ID. This requires XPointer awareness on the part of the digital signature tools being used.

### 6.4 UBL Extension for Enveloped XML Digital Signatures

#### 6.4.1 UBL Extension for Enveloped XML Digital Signatures Introduction

UBL extensions enable user-defined additions to the standard schemas. The UBL schemas in this distribution are provided with a predefined standard extension for enveloped signatures that supports IETF/W3C Digital Signature profiles. These also include advanced IETF/W3C XML digital signatures conforming to XAdES.

This extension also serves as a case study for the creation of user-defined UBL extensions; see Section 3.6.4, “Notes For Extension Creators”. Further information on the UBL extension mechanism can be found in [Customization].

UBL’s implementation of XML digital signatures puts all the signatures relating to a document in a single extension, which is engaged in validation by the `UBL-ExtensionContentDataType-2.5.xsd` schema module.

#### 6.4.2 Digital Signature Namespaces

As is true for the UBL document schemas and common library, the UBL digital signature extension is modeled with three namespaces: one for the apex element (a parallel to the document schema), one for new aggregate constructs (a parallel to the common aggregate schema), and one for new basic constructs (a parallel to the common basic schema). See Figure 90, “UBL Schema Dependencies”.

The `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​CommonSignatureComponents-2` namespace is used for the apex element, the `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​SignatureAggregateComponents-2` namespace is used for new aggregate elements, and the `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​SignatureBasicComponents-2` namespace is used for new basic elements. The IETF/W3C digital signature XMLDSig standard namespace `http://www.w3.org/2000/09/xmldsig#` is also used in this extension. These namespaces are bound to the `sig:`, `sac:`, `sbc:` and `ds:` prefixes respectively, but any prefix or even the default namespace can be used for any of these in an XML instance.

Schema fragments for the two XAdES namespaces `http://uri.etsi.org/01903/v1.3.2#` and `http://uri.etsi.org/01903/v1.4.1#` are included in UBL for the convenience of users of the XAdES specification. There is no obligation to use the XAdES extension in the IETF/W3C digital signature. The appropriate XSD fragments are imported into the overall schema structure from the extension content data type schema fragment. Changing UBL to support a future version of the XAdES schema fragments involves only changing the import statements in the extension content data type schema fragment.

The table below lists the namespaces used for UBL digital signatures. The prefixes on the left are only documentary conventions; their choice is not constrained by XML.

Table 3. Namespaces for UBL Digital Signatures

Prefix | Namespace | Reference
--- | --- | ---
`ds` | `http://www.w3.org/2000/09/xmldsig#` | XMLDSig
`xades` | `http://uri.etsi.org/01903/v1.3.2#` | XAdES
`ext` | `urn:oasis:names:specification:ubl:schema: xsd:CommonExtensionComponents-2` | UBL extension namespace
`sig` | `urn:oasis:names:specification:ubl:schema: xsd:CommonSignatureComponents-2` | UBL signature extension apex namespace
`sac` | `urn:oasis:names:specification:ubl:schema: xsd:SignatureAggregateComponents-2` | UBL signature extension aggregate namespace
`sbc` | `urn:oasis:names:specification:ubl:schema: xsd:SignatureBasicComponents-2` | UBL signature extension basic namespace

#### 6.4.3 Digital Signature Identification

This UBL extension is distinguished from other extensions and identified using the URI `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped` in the `<ext:ExtensionURI>` element.

### Note

In addition to Enveloped signatures, Section 6.3.3, “Detached XML Signatures for UBL Documents” also provides methods to be used with Detached signatures (i.e., digital signatures that stand outside the document being signed). Detached signatures constitute an independent technique without associated UBL artefacts, but an example instance showing detached signatures is included in this package; see Section 6.5, “Digital Signature Examples”.

#### 6.4.4 Digital Signature Validation

The `UBL-ExtensionContentDataType-2.5.xsd` module links UBL validation to all needed extensions by importing the apex schema fragment of each extension vocabulary. The distribution version of this module supports IETF/W3C XML digital signatures by declaring that the `<ext:ExtensionContent>` element can contain elements from the UBL Digital Signature extension namespace. Accordingly, a single `<sig:UBLDocumentSignatures>` element is used as the apex of all the document’s electronic signatures.

The `<ext:ExtensionContent>` element alternatively allows any other namespace apex element in order to allow other foreign extensions in the same document.

#### 6.4.5 Digital Signature Structure

##### 6.4.5.1 Digital Signature Structure Introduction

The signature extension structure exists to contain one or more IETF/W3C standard digital signature constructs. The UBL scaffolding for this extension starts with a `<ext:UBLExtension>` element with two children: `<ext:ExtensionURI>` (for extension distinction and identification) and `<ext:ExtensionContent>` (for containing the extension information, in this case the actual signatures and supporting information).

The signature extension Business Information Entities for UBL are contained in a single spreadsheet, provided here in two different formats (see Section D.4, “The CCTS Specification of UBL Business Information Entities” for details regarding the spreadsheet columns):

> `mod/UBL-Signature-Entities-2.5.ods`
> `mod/UBL-Signature-Entities-2.5.xls`

An HTML rendition of the spreadsheet contents for the signature extension model also is provided:

> `mod/summary/reports/UBL-CommonSignatureComponents-2.5.html`

One or more signature extensions in a given document may each contain one or more sets of signature information. The following instructions guide the proper use of this particular extension.

##### 6.4.5.2 Digital Signature Extension Metadata

The standard scaffolding for a given signature extension begins with the `<ext:UBLExtension>` element. The extension’s role as a UBL signature extension is indicated with a child `<ext:ExtensionURI>` element with the `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped` value. The `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped:​xades` value CAN be used to indicate the use of XAdES in the extension. Other extension metadata elements defined in UBL are allowed to be included for the convenience of users without changing the meaning or use of the extension.

    <ext:UBLExtension>
      <ext:ExtensionURI
        >urn:oasis:names:specification:ubl:dsig:enveloped</ext:ExtensionURI>
      <ext:ExtensionContent>

##### 6.4.5.3 The Extension Identifier

All uses of the optional `<cbc:ID>` metadata SHOULD be unique so that each extension can be uniquely identified. The identifier used can be any value. URNs beginning with `urn:​oasis:​names:​specification:​ubl:​extension:` and ending with a number value are reserved for this purpose for the convenience of UBL users. The value `urn:​oasis:​names:​specification:​ubl:​extension:3` is an example of such a URN. As with all identifiers, each SHOULD be unique across all identifier values in a given UBL instance.

##### 6.4.5.4 Digital Signature Apex

The mandatory `<ext:ExtensionContent>` element contains the UBL signature scaffolding. The apex element of the UBL signature information is `<sig:UBLDocumentSignatures>`.

##### 6.4.5.5 Digital Signature Information

Each `<sac:SignatureInformation>` aggregate is used to contain the information related to a single IETF/W3C digital signature. Every signature added to the extension is isolated under a separate `<sac:SignatureInformation>` aggregate element containing the signature and its supporting information. As many of these aggregates can be in the extension as is needed, each one containing the information for a single digital extension.

      <ext:ExtensionContent>
        <sig:UBLDocumentSignatures>
          <sac:SignatureInformation>
            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

Note that three namespaces are used for signature information, in parallel with UBL’s use of a document namespace, an aggregate namespace, and a basic namespace. The apex element is in the `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​CommonSignatureComponents-2` namespace, a parallel to a UBL document namespace. Signature-related aggregate entities are in the `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​SignatureAggregateComponents-2` namespace. Signature-related basic entities are in the `urn:​oasis:​names:​specification:​ubl:​schema:​xsd:​SignatureBasicComponents-2` namespace. Accordingly, there are three W3C Schema fragments in the distribution accommodating these three namespaces.

##### 6.4.5.6 Digital Signature Identifier

An aggregate MAY be identified for referencing purposes using the common library `<cbc:ID>` element. Such an identifier may be useful in workflow scenarios where a particular signature needs to be identified external to the document, but its use is not obligatory. The identifier used can be any value. URNs beginning with `urn:​oasis:​names:​specification:​ubl:​signature:` and ending with a number value are reserved for this purpose for the convenience of UBL users. The value `urn:​oasis:​names:​specification:​ubl:​signature:3` is an example of such a URN. As with all identifiers, each SHOULD be unique across all identifier values in a given UBL instance.

##### 6.4.5.7 Digital Signature Reference

An aggregate MAY make reference to an existing `<cac:Signature>` business object in the same UBL document, but this is not obligatory. When needed, the `<sbc:ReferencedSignatureID>` basic element is used to point to the `<cbc:ID>` identifier value of the referenced `<cac:Signature>`. The identifier used can be any value. URNs beginning with `urn:​oasis:​names:​specification:​ubl:​signature:​` and ending with the local name of the parent of the signature business object, optionally followed with a colon and number, are reserved for this purpose for the convenience of UBL users. An example of such a URN is `urn:​oasis:​names:​specification:​ubl:​signature:​IssuerEndorsement`. As with all identifier references, the referenced identifier SHOULD exist and SHOULD be unique across all such identifier values in a given UBL instance.

See Section 6.3.2, “Enveloped XML Signatures in UBL Documents” for rules regarding common library UBL signature elements in the unextended portion of UBL documents that are being referenced by this element, together with an example of their use.

##### 6.4.5.8 Digital Signature Content

A single `<ds:Signature>` element is a child of the aggregate. It MAY be absent from the document, thus supporting workflow scenarios where the element is added by a subsequent process after the UBL scaffolding is added by an earlier process. However, the signature information is semantically incomplete without the IETF/W3C-defined element. To support signatures countersigning this signature, this element will use the `Id=` attribute with a value unique among other attributes of schema type `ID` in the instance.

##### 6.4.5.9 Example Digital Signature Skeleton

The following is a skeleton example of a single signature:

    <ext:ExtensionContent>
      <sig:UBLDocumentSignatures
        xmlns:sig=
          "urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2"
        xmlns:sac=
          "urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2"
        xmlns:sbc=
          "urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2">
        <sac:SignatureInformation>
          <cbc:ID>urn:oasis:names:specification:ubl:signature:1</cbc:ID>
          <sbc:ReferencedSignatureID
            >urn:oasis:names:specification:ubl:signature:Invoice
          </sbc:ReferencedSignatureID>
          <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id=...>
            <ds:SignedInfo>
             ...
              <ds:Reference URI=...>
               ...
                <ds:Transform>
                 ...
                </ds:Transform>
               ...
              </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>
              ...
            </ds:SignatureValue>
            <ds:KeyInfo>
             ...
            </ds:KeyInfo>
            <ds:Object>
             ...
            </ds:Object>
          </ds:Signature>
        </sac:SignatureInformation>
      </sig:UBLDocumentSignatures>
    </ext:ExtensionContent>

### Note

The XAdES specification contains all qualifying XAdES information in a single `<ds:Object>` element located as shown above. The UBL distribution includes and engages XAdES schema fragments with versions 1.3.2 and 1.4.1 for the convenience of users who choose to use these versions of XAdES. Users of the UBL signature extension are not obliged to use any XAdES extensions.

#### 6.4.6 Transformation

The content to be signed is indicated in the `URI=` attribute of `<ds:Reference>`. Using the empty string indicates that the entire document (i.e. the enveloping UBL instance) is what is being signed:

    <ds:Reference URI="">

A requirement when using digital signatures is to express in XPath that address that qualifies all nodes in the referenced content to be included in the calculation of the digital signature hash. For a signature added to a document to remain valid, none of the information can change, nor can any information be added or removed from that portion of the document included in the hash calculation.

One of two such transformation expressions SHOULD be used in the UBL signature extension; users SHOULD choose the appropriate one to meet the objectives of adding the signature to the document. Adding non-signature information to the UBL document will invalidate all signatures already in the extension. The choice to make is whether to support additional signatures after adding the signature with the transformation expression.

The following transformation element in a digital signature flexibly prevents the signature from being invalidated by the subsequent addition of other signatures within the extension:

       <Transform
            Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
          <XPath xmlns:sig=
            "urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2">
            count(ancestor-or-self::sig:UBLDocumentSignatures |
              here()/ancestor::sig:UBLDocumentSignatures[1]) >
                count(ancestor-or-self::sig:UBLDocumentSignatures)
          </XPath>
        </Transform>

The following transformation element in a digital signature is inflexible and thus would be considered a “final” signature to be added to the document. Such a signature will be invalidated by the subsequent addition of other signatures to the document:

       <Transform
            Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
          <XPath xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            count(ancestor-or-self::ds:Signature |
              here()/ancestor::ds:Signature[1]) >
                count(ancestor-or-self::ds:Signature)
          </XPath>
        </Transform>

Multiple separate items of extra-document content (e.g., attachments) or embedded W3C signature content can be included in the same signature by using sibling `<ds:Reference>` elements with other `URI=` attribute values. For example, to countersign another signature in the same UBL document, make a local reference to that signature’s unique identifier, as in:

    <ds:Reference URI="#{Id attribute of ds:Signature}">

### Note

To digitally sign only a portion of standard UBL content and not the entire document of UBL content, one uses an appropriate XPointer address for `URI=`. This requires XPointer awareness on the part of the digital signature tools being used.

### 6.5 Digital Signature Examples

The ``xml/UBL-Invoice-2.0-Enveloped.xml`` sample document illustrates the embedding of three extensions in a single document, one of which is a bona fide verifiable enveloped signature extension. A `<cac:Signature>` element makes reference to the embedded signature.

The ``xml/UBL-Invoice-2.0-Detached.xml`` sample document illustrates the placement of a detached digital signature outside of the UBL file. A `<cac:Signature>` element makes reference to the external signature.

The ``xml/UBL-Invoice-2.0-Detached-Signature.xml`` instance is an example of a bona fide verifiable digital signature of the ``xml/UBL-Invoice-2.0-Detached.xml`` instance.

## 7 Conformance

### 7.1 Document and Schema Conformance

The UBL 2.5 XSD schemas [XSD1] [XSD2] are the only normative representations of the UBL 2.5 document types and library components for the purposes of XML document [XML] validation and conformance.

An XML document is considered conforming to UBL 2.5 when all are true that:

1. there are no violations of the XSD validation schema constraints when using one of the normative document schemas listed in Section 3.2, “UBL 2.5 Document Schemas”,

2. there are no violations of the XSD or other constraints on extension scaffolding and metadata described in Section 3.6, “Extension Methodology and Validation”, and

3. there are no content violations of the constraints listed in Section 4, “Additional Document Constraints”.

### Note

1. Additional explanatory information regarding conformance as applied to UBL documents and schemas and their subsets, and the distinction between UBL conformance and UBL compatibility, is described in detail in the UBL 2 Guidelines for Customization [Customization]. That document has no bearing or impact on the clauses of this subsection.

2. The presence of deprecated components in a UBL document instance does not affect conformance. Deprecated components are fully supported in the schemas and validation artefacts. Their use is discouraged but still valid. Deprecation is a forward-looking signal to users, not a restriction.

### 7.2 Semantic Conformance

A UBL document instance is considered semantically conformant when it correctly represents business information in accordance with the semantic definitions of the UBL data model as described in Section 4.7, “Semantic definitions”.

Semantic conformance to UBL therefore requires that:

1. Each UBL element and component is used in a manner consistent with its normative definition in the UBL schemas and accompanying documentation; and

2. The instance conveys information that is consistent with the business semantics intended by the UBL data model.

### 7.3 Digital Signature Extension Conformance

#### 7.3.1 Basic Digital Signature Extension Conformance

Claiming syntax conformance to the enveloped signature profile of UBL 2.5 requires the following:

- a schema-valid UBL extension in which the UBL Signature apex element is the apex of the extension;

- the `<ext:Extension>` element is present in the UBL extension and has either `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped` or `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped:​xades` as its value;

- the value in all uses of `<sbc:ReferencedSignatureID>`, when present, correlates to a corresponding `<cbc:ID>` element of a `<cac:Signature>` element in the same instance; and

- the `<cbc:SignatureMethod>` element, when present, of signature business objects whose signatures are in the UBL extension has either `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped` or `urn:​oasis:​names:​specification:​ubl:​dsig:​enveloped:​xades` as its value.

Claiming processing conformance to the enveloped profile of UBL 2.5 requires the conforming processing of all contained `<ds:Signature>` elements per [xmldsig].

Claiming syntax conformance to the detached profile of this specification requires that the `<cbc:SignatureMethod>` element, when present, of signature business objects whose signatures are outside of the UBL document has either `urn:​oasis:​names:​specification:​ubl:​dsig:​detached` or `urn:​oasis:​names:​specification:​ubl:​dsig:​detached:​xades` as its value.

#### 7.3.2 XAdES Digital Signature Extension Conformance

When conformance to XAdES in a UBL extension is chosen, UBL 2.5 requires the valid expression and processing of the XAdES syntax found in an XMLDSig per [XAdES].

## Appendix A References

This appendix contains the normative and informative references that are used in this document.

While any hyperlinks included in this appendix were valid at the time of publication, OASIS cannot guarantee their long-term validity.

### A.1 Normative References

The following documents are referenced in such a way that some or all of their content constitutes requirements of this document.

[ISO/IEC Directives] ISO/IEC Directives, Part 2 (Ninth edition) Principles and rules for the structure and drafting of ISO and IEC documents, International Organization for Standardization and International Electrotechnical Commission, 2021.https://www.iso.org/sites/directives/current/part2/index.xhtml

[XAdES] XAdES digital signatures; Part 1: Building blocks and XAdES baseline signatures. ETSI EN 319 132-1 V1.1.1, April 2016.

[XML] Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation 6 October 2000

[xmldsig] XML-Signature Syntax and Processing Version 1.1. W3C Recommendation 11 April 2013

[XSD1] XML Schema Part 1: Structures. Second Edition. W3C Recommendation 28 October 2004

[XSD2] XML Schema Part 2: Datatypes. Second Edition. W3C Recommendation 28 October 2004

### A.2 Non-normative References

The following referenced documents are not required for the application of this document but may assist the reader with regard to a particular subject area.

[ASiC] Electronic Signatures and Infrastructures (ESI); Associated Signature Containers (ASiC); Part 1: Building blocks and ASiC baseline containers. ETSI EN 319 162-1 V1.1.1, April 2016.

[BD-NDR] Business Document Naming and Design Rules Version 1.0. Edited by Tim McGrath, Andy Schoka and G. Ken Holman. 14 July 2016. OASIS Committee Specification 01. http://docs.oasis-open.org/ubl/Business-Document-NDR/v1.0/cs01/Business-Document-NDR-v1.0-cs01.html. Latest version: http://docs.oasis-open.org/ubl/Business-Document-NDR/v1.0/Business-Document-NDR-v1.0.html.

[BOV-FSV] ISO/IEC 15944-20 Information technology - Business operational view - Linking business operational view to functional service view

[CCTS] UN/CEFACT Core Component Technical Specification, Version 2.01

[Customization] OASIS Committee Specification 01, UBL 2 Guidelines for Customization, First Edition, 25 December 2009

[CVA] OASIS Context/value association using Genericode 1.0. 15 April 2010. Committee Specification 01 http://docs.oasis-open.org/codelist/ContextValueAssociation/doc/context-value-association.html.

[DSS-v2.0] Digital Signature Service Core Protocols, Elements, and Bindings Version 2.0. Edited by Andreas Kuehne and Stefan Hagen. 07 January 2019. OASIS Committee Specification Draft 01 / Public Review Draft 02. https://docs.oasis-open.org/dss-x/dss-core/v2.0/csprd02/dss-core-v2.0-csprd02.html. Latest version: https://docs.oasis-open.org/dss-x/dss-core/v2.0/dss-core-v2.0.html.

[eBiz-TCF] Reference Architecture of eBusiness in Textile Clothing and Footwear Sector

[eIDAS] REGULATION (EU) No 910/2014 OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL of 23 July 2014 on electronic identification and trust services for electronic transactions in the internal market and repealing Directive 1999/93/EC.

[ETSI TS 119 112] ETSI TR 119 112 V1.1.1 (2019-04) - Electronic Signatures and Infrastructures (ESI); Most significant differences between AdES/ASiC ENs and previous TSs.

[ETSI TS 119 511] ETSI TS 119 511 V1.1.1 (2019-06) - Electronic Signatures and Infrastructures (ESI); Policy and security requirements for trust service providers providing long-term preservation of digital signatures or general data using digital signature techniques .

[ETSI TS 119 512] ETSI TS 119 512 - TS 119 512 Protocols for trust service providers providing long-term preservation of digital signatures or unsigned data using signature techniques.

[genericode] Code List Representation (genericode) Version 1.0. Edited by G. Ken Holman. 31 January 2023. OASIS Standard. https://docs.oasis-open.org/codelist/genericode/v1.0/os/genericode-v1.0-os.html.

[Governance] UBL Maintenance Governance Procedures Version 1.0. Edited by Ole Madsen, Tim McGrath and G. Ken Holman. 04 March 2015. OASIS Committee Note 01. http://docs.oasis-open.org/ubl/UBL-Governance/v1.0/cn01/UBL-Governance-v1.0-cn01.html. Latest version: http://docs.oasis-open.org/ubl/UBL-Governance/v1.0/UBL-Governance-v1.0.html.

[ISO11179] ISO/IEC 11179-1:1999 Information technology — Specification and standardization of data elements — Part 1: Framework for the specification and standardization of data elements

[Open-edi] ISO/IEC 14662:2010 Information technology - Open-edi reference model

[ODFP] OASIS Standard, Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 3 Packages, December 2006.

[RELAX NG] ISO/IEC 19757-2, Information technology — Document Schema Definition Language (DSDL) — Part 2: Regular-grammar-based validation — RELAX NG , Information technology — Document Schema Definition Language (DSDL) — Part 2: Regular-grammar-based validation — RELAX NG AMENDMENT 1: Compact Syntax

[RFC3161] Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP), August 2001.

[SCH] Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation (Schematron)

[UBL-NDR] UBL Naming and Design Rules Version 3.0. Edited by G. Ken Holman. 20 July 2016. OASIS Committee Note 01. http://docs.oasis-open.org/ubl/UBL-NDR/v3.0/cn01/UBL-NDR-v3.0-cn01.html. Latest version: http://docs.oasis-open.org/ubl/UBL-NDR/v3.0/UBL-NDR-v3.0.html.

[UML] Unified Modeling Language Version 1.5 (formal/03-03-01)

[XAdES (ISO)] ISO 14533-2:2012 Processes, data elements and documents in commerce, industry and administration -- Long term signature profiles -- Part 2: Long term signature profiles for XML Advanced Electronic Signatures (XAdES)

[XML C14N] John Boyer, Canonical XML Version 1.0, 15 March 2001.

[XPath 2.0] Anders Berglund, et al., XML Path Language (XPath) Version 2.0, 23 January 2007.

[XPointer] Steven DeRose, et al., XML Pointer Language (XPointer) Version 1.0 Working Draft, 16 August 2002.

[XSLT] XSL Transformations (XSLT) Version 1.0, W3C Recommendation 16 November 1999

[XSLT 2.0] Michael Kay, XSL Transformations (XSLT) Version 2.0, 2007-01-23.

## Appendix B Release Notes (Non-Normative)

### B.1 Availability

Online and downloadable versions of the latest OASIS release of this package are available from:

- https://docs.oasis-open.org/ubl/

Online and downloadable versions of the latest ISO/IEC release of this package are available from:

- http://standards.iso.org/ittf/PubliclyAvailableStandards/

### B.2 Package Structure

The UBL 2.5 specification is published as a zip archive in the release directory. Unzipping this archive creates a directory named csd02-UBL-2.5 containing a master DocBook XML file (UBL-2.5.xml), a generated hypertext version of this file (UBL-2.5.html), a generated PDF version of this file (UBL-2.5.pdf), and a number of subdirectories. The files in these subdirectories, linked to from UBL-2.5.xml, UBL-2.5.html, and UBL-2.5.pdf, contain the various normative and informational pieces of the 2.5 release. A description of each subdirectory is given below. Note that while the UBL-2.5.xml file is the “original” of this specification, it may not be viewable in all currently available web browsers.

> `art/`

> > Diagrams and illustrations used in this specification

> `cl/`

> > Code list specification files; see Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative)

> `cva/`

> > Artefacts expressing data type qualifications; see [CVA] in Section A.1, “Normative References” and Figure E.1, “Data Type Qualification in UBL” in Appendix E, Data Type Qualifications in UBL (Non-Normative)

> `db/`

> > DocBook stylesheets for viewing UBL-2.5.xml

> `mod/`

> > Spreadsheets and HTML renderings of the UBL data models; see Appendix D, The UBL 2.5 Data Model (Non-Normative)

> `val/`

> > Test harness for demonstrating UBL 2.5 two-phase validation; see Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative)

> `xml/`

> > Sample UBL 2.5 instances; see Appendix G, UBL 2.5 Example Document Instances (Non-Normative)

> `xsd/`

> > XSD schemas; see Section 3, “UBL 2.5 Schemas”

> `xsdrt/`

> > “Runtime” XSD schemas; see Section 3, “UBL 2.5 Schemas”

> `endorsed/`

> > Schemas and documentation omitting deprecated content; see Section 5, “UBL Component Deprecation”

### B.3 Support

UBL is a volunteer-driven project of the international business community, maintained by the OASIS Universal Business Language Technical Committee (UBL TC). While there is no formal support channel, users and implementers may find useful information and community engagement through the following resources:

- UBL outreach site, general overview and community news:

  - https://oasis-open.org/ubl

- UBL Technical Committee page:

  - https://oasis-open.org/committees/ubl

- UBL Wikipedia article:

  - https://en.wikipedia.org/wiki/Universal_Business_Language

For questions about participation or technical contributions, contact the UBL TC via the OASIS TC page listed above.

UBL is also implemented in many national and regional e-invoicing, e-procurement, and other business document exchange frameworks. Implementers are encouraged to consult both the UBL base documentation and any applicable local profiles or guidance materials.

UBL has been developed since 2001 and standardized by ISO as ISO/IEC 19845. It is continuously maintained and updated by a global community of experts.

### B.4 UBL Customization

UBL provides a vocabulary that, for many user communities, can be used “as is”. However, some users require a more tailored subset of the model, with additional constraints or specific business rules to support interoperability within a defined context (e.g., a company, network, or jurisdiction).

UBL allows for such specializations through the use of customizations, which are formal specifications that define how a particular community uses UBL. These customizations are identified by the CustomizationID element within a UBL document instance and typically define restrictions on allowed elements, tightened cardinalities, additional business rules, or specific semantic interpretations, all while remaining conformant with the normative UBL schemas and definitions.

In addition, the ProfileID element can be used to indicate the business process context in which a document instance is exchanged. While the CustomizationID identifies the specific technical constraints and business rules applied to the document structure, the ProfileID can express further contextual information about the document’s role in a business process (e.g., “invoice-only process”, “purchase order with invoice”, etc.).

When used, both identifiers should refer to publicly documented specifications to ensure clarity and consistent interpretation across implementations.

A separate OASIS Committee Specification known as the UBL 2 Guidelines for Customization [Customization] has been published to aid such users in developing custom solutions based on UBL.

### B.5 Upgrading from UBL 2.x to UBL 2.5

For current UBL implementers, the most important thing to know about UBL 2.5 is that it is completely backward-compatible with earlier versions of UBL 2. In other words, any document that validates against a UBL 2 schema released before UBL 2.5 will validate against the UBL 2.5 version of that schema.

Nonetheless, it would be unwise to simply overlay this UBL 2.5 release onto an existing installation. While backwards-compatible, UBL 2.5 introduces component deprecation and new endorsed artefacts for validation and documentation. These additions may affect tooling, validation flows, or interpretation of UBL content and should be considered when upgrading.

The brief history of UBL document types in the next section puts the new capabilities into context and may help users of existing UBL implementations decide whether to upgrade to 2.5. Implementers can also use the endorsed schemas to identify deprecated elements in existing instances and adjust their usage accordingly.

New 2.5 users, on the other hand, can simply install 2.5 and rest assured that their software will interoperate with UBL documents generated by existing conforming UBL 2.0 installations. For more on the concept of conformance, see Section 7, “Conformance” and [Customization].

### B.6 Known errors in UBL 2.5

During deployment the presence of errors in the UBL normative components comes to the attention of the UBL Technical Committee. While such issues cannot be corrected directly without compromising backwards compatibility, UBL 2.5 introduces a deprecation mechanism that allows known errors to be formally marked as deprecated and replaced by corrected components. This approach maintains compatibility with earlier versions while guiding implementers toward more accurate usage.

The list of known errors from earlier UBL versions and their treatment in UBL 2.5 is as follows:

- the spelling of the BBIE named PartecipationPercent in the ABIE named ShareholderParty is incorrect.

  - In UBL 2.5, this BBIE is deprecated and replaced with the correctly spelled ParticipationPercent

- the spelling of the BBIE named FirstShipmentAvailibilityDate in the ABIE named PromotionalEvent is incorrect

  - In UBL 2.5, this BBIE is deprecated and replaced with the correctly spelled FirstShipmentAvailabilityDate

- the spelling of the BBIE named OccurenceLocation in the ABIE named Event is incorrect

  - In UBL 2.5, this BBIE is deprecated and replaced with the correctly spelled OccurrenceLocation

- at this time there are no ASBIEs associating the common library ABIE with the DEN “Performance Data Line. Details”

## Appendix C Revision History (Non-Normative)

### C.1 The Business and Regulatory Impact of UBL Major and Minor Revisions

To protect UBL stakeholders and users, a very rigid and consistent interpretation of major and minor revisions has been chosen for the evolution of the UBL data model and the validation artefacts. This impacts the way one uses UBL and plans for the future use of UBL from both business and regulatory perspectives.

Since its first release as an OASIS Standard in 2004, UBL has experienced one major and, now, three minor version upgrades. The impact on users is intended to be felt only with a major UBL revision. Minor UBL revisions are engineered not to have an impact on an existing user of UBL.

A major revision is considered only when the UBL committee has assessed that the changes needed to meet stakeholder requirements justify changes in the way business objects and documents are expressed. There has been only one major revision, that being from UBL 1.0 to UBL 2.0, and this was made to accommodate requirements described in Section C.3, “Major Revision: UBL 2.0”.

UBL documents are structured instances of arranged information. A given document will not violate sets of abstract document constraints that govern its content, chosen by the UBL committee and expressed in the UBL data model. The abstract model is reified in concrete form as sets of constraint expressions. These constraint expressions take two forms: mandatory document schemas in XSD and optional code list associations in CVA. When UBL is published, these concrete constraint expressions are made available in a form computers use to validate that an XML document is, in fact, a properly formed and valued UBL document. The computer can then act on the values found inside of the UBL document in order to satisfy business objectives.

Accordingly, after the release of UBL 1.0, users created UBL 1.0 documents that conformed to the UBL 1.0 document constraints expressed in the UBL 1.0 document model.

The impact of the major revision from UBL 1.0 to UBL 2.0 is that UBL 1.0 documents violate the constraints of the UBL 2.0 document model. A system designed for UBL 2.0 is unable to ingest a UBL 1.0 document precisely because the validation of the UBL 2.0 document constraints will fail and the UBL 1.0 document is not recognized as a valid instance of the UBL 2.0 document model.

There is no impact of minor revisions in UBL for existing UBL documents for a major revision. The committee goes to great lengths to ensure that the document constraints for every minor revision of UBL will not be violated by any UBL document created by a previous minor revision. Of course this will not work in the other direction. That is, a document of a new minor revision may very well violate the constraints of an earlier revision due to the introduction of new business objects.

From a business perspective, this approach removes any need to redress older UBL documents to prevent constraint violations in newer UBL systems. Documents of older minor revisions are automatically, without making any changes, considered valid documents of newer minor revisions. In a network of heterogeneous systems, it is not necessary to upgrade every installation at the same time in order to preserve interoperability. A new system can ingest a UBL document created by an old system without that old document violating the new document constraints.

From a regulatory perspective, this approach allows a jurisdiction to mandate constraints on any minor revision of UBL and those constraints will apply equally to all subsequent minor revisions. There is no need to update any regulation for a given version of UBL just because the committee development of UBL continues to add new features in new minor revisions for users outside of the jurisdiction. Until a new feature is available of interest to the jurisdiction, there is no need to move away from a chosen minor revision.

This guarantee of backward compatibility of old UBL documents to new and future UBL models protects all stakeholders investing in the use of this specification.

The remainder of this appendix provides more details regarding the past evolution of UBL.

### C.2 Initial Release: UBL 1.0

Though apparently limited in scope, the eight document types provided in UBL 1.0 (2004) are applicable to a very large number of real-world use cases and have been widely deployed. These original 1.0 document types, later updated in UBL 2.0 and continued here in minor revisions, are Order, Order Response, Order Response Simple, Order Change, Order Cancellation, Despatch Advice, Receipt Advice, and Invoice. The figure below shows the original assumed process context for this most basic set of UBL document types. The scope of the process corresponds roughly to that of the UBL 2 Order, Fulfilment, and Traditional Billing processes described in the text (see Section 2.3.3.4, “Ordering (post-award)”, Section 2.3.5.1, “Logistics”, and Section 2.3.7.1.3, “Traditional Billing”).

Figure C.1. UBL 1.0 Order-to-Invoice Business Process

Because versions of UBL beginning with 2.0 do not maintain backward compatibility with UBL 1.0 document instances (that is, UBL 1.0 document instances will not validate against schemas from UBL 2.0 and later), use of UBL 1.0 in new installations is deprecated. Suitably revised versions of the original eight document types continue all the business functionality of UBL 1.0 in later versions.

### C.3 Major Revision: UBL 2.0

Adoption of UBL 1.0 following ratification as an OASIS standard in November 2004 resulted in major inputs of new business content beyond the eight basic order-to-invoice business documents specified in the original release. In particular, contributions from representatives of government procurement, taxation, and transportation agencies in Europe, Asia, and North America resulted in greatly expanded pre-order and post-invoice capabilities together with the addition of several transport-related document types, bringing the total number of document types in UBL 2.0 to 31.

The new release also featured changes in UBL’s use of XML schema methodology—most importantly, the adoption of global scoping for all element types—breaking backward compatibility with UBL 1.0 instances and therefore necessitating designation as a major revision, signified by incrementing the version number from 1.0 to 2.0 rather than 1.1. The original eight UBL 1.0 document types were revised to reflect these changes.

UBL 2.0 achieved OASIS Standardization in December 2006, and the package was updated and corrected in May 2008.

The 23 document types added in UBL 2.0 can be summarized as follows:

> Added UBL 2.0 document types for sourcing: Catalogue, Catalogue Deletion, Catalogue Item Specification Update, Catalogue Pricing Update, Catalogue Request, Quotation, Request For Quotation

> Added UBL 2.0 document types for fulfilment: Bill Of Lading, Certificate Of Origin, Forwarding Instructions, Packing List, Transportation Status, Waybill

> Added UBL 2.0 document types for billing: Credit Note, Debit Note, Freight Invoice, Reminder, Self Billed Credit Note, Self Billed Invoice

> Added UBL 2.0 document types for payment: Remittance Advice, Statement

> Added UBL 2.0 supplementary document types: Application Response, Attached Document

### C.4 Minor Revision: UBL 2.1

Because it preserves backward compatibility with UBL 2.0, UBL 2.1 is technically a minor release, not a major one. However, it did add 34 new document types, bringing the total number of UBL business documents to 65.

> Added UBL 2.1 document types for eTendering: Awarded Notification, Call For Tenders, Contract Award Notice, Contract Notice, Guarantee Certificate, Tender, Tender Receipt, Tenderer Qualification, Tenderer Qualification Response, Unawarded Notification

> Added UBL 2.1 document types for Collaborative planning, forecasting, and replenishment: Exception Criteria, Exception Notification, Forecast, Forecast Revision, Item Information Request, Prior Information Notice, Trade Item Location Profile

> Added UBL 2.1 document types for Vendor Managed Inventory: Instruction For Returns, Inventory Report, Product Activity, Retail Event, Stock Availability Report

> Added UBL 2.1 document types for fulfilment: Fulfilment Cancellation

> Added UBL 2.1 document types for Intermodal Freight Management: Goods Item Itinerary, Transport Execution Plan, Transport Execution Plan Request, Transport Progress Status, Transport Progress Status Request, Transport Service Description, Transport Service Description Request, Transportation Status, Transportation Status Request

> Added UBL 2.1 document type for Utility billing: Utility Statement

> Added UBL 2.1 supplementary document types: Document Status, Document Status Request

The Section 6, “UBL Digital Signatures” extension was added in UBL 2.1. This extension works as is also with UBL 2.0.

Details of the changes from UBL 2.0 to UBL 2.1 are found at http://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.html#S-MINOR-REVISION-UBL-2.1

### C.5 Minor Revision: UBL 2.2

Because it preserves backward compatibility with UBL 2.1 and UBL 2.0, UBL 2.2 is technically a minor release, not a major one. However, it did add 16 new document types, bringing the total number of UBL business documents to 81.

> Added UBL 2.2 document types for eTendering: Enquiry, Enquiry Response, Expression Of Interest Request, Expression Of Interest Response, Qualification Application Request, Qualification Application Response, Tender Contract, Tender Status, Tender Status Request, Tender Withdrawal, Unsubscribe From Procedure Request, Unsubscribe From Procedure Response

> Added UBL 2.2 document type for transportation: Weight Statement

> Added UBL 2.2 document types for business directories and agreements: Business Card, Digital Agreement, Digital Capability

### C.6 Minor Revision: UBL 2.3

#### C.6.1 New Document Types in UBL 2.3

Because it preserves backward compatibility with UBL 2.2, UBL 2.1, and UBL 2.0, UBL 2.5 is technically a minor release, not a major one. However, it does add ten new document types, bringing the total number of UBL business documents to 91.

> Added UBL 2.3 document types for transportation: Common Transportation Report, Export Customs Declaration, Goods Certificate, Goods Item Passport, Import Customs Declaration, Manifest, Proof Of Reexportation, Proof Of Reexportation Reminder, Proof Of Reexportation Request, Transit Customs Declaration

### C.7 Minor Revision: UBL 2.4

#### C.7.1 New Document Types in UBL 2.4

Because it preserves backward compatibility with UBL 2.3, UBL 2.2, UBL 2.1, and UBL 2.0, UBL 2.5 is technically a minor release, not a major one. However, it does add two new document types, bringing the total number of UBL business documents to 93.

> Added two new UBL 2.4 document types: Business Information, Purchase Receipt

### C.8 Minor Revision: UBL 2.5

#### C.8.1 Overview of UBL 2.5 Updates

Because it preserves backward compatibility with earlier versions of UBL 2.X, UBL 2.5 is technically a minor release, not a major one. However, it does introduce several important enhancements that significantly improve the usability, interoperability, and business alignment of the standard.

Key updates include support for collections on behalf of third parties, improved invoice status tracking, waste transport management, and enhanced payment referencing. Additionally, UBL 2.5 also introduces element deprecation, allowing for cleaner evolution of the standard without breaking existing implementations.

#### C.8.2 New Document Types in UBL 2.5

UBL 2.5 adds the following new document types, bringing the total number of UBL business documents to 101:

> Added 8 new UBL 2.5 document types: Delivery Note, Invoice Status Request, Invoice Status Response, Work Report, Procurement Status, Procurement Status Request, Waste Movement, Waste Notification

#### C.8.3 Schema changes from UBL 2.4 to UBL 2.5

##### C.8.3.1 Schema Changes Introduction

The following two tables show the differences between the XML elements in UBL 2.4 and those in UBL 2.5.

All changes in 2.5 schemas are backward-compatible with valid UBL 2.4, UBL 2.3, UBL 2.2, UBL 2.1, and UBL 2.0 instances. Changes include the addition of new elements and attributes; changes in cardinality from 1 to 0..1 (i.e., making a formerly required element optional); changes in cardinality from 1 to 1..n or from 0..1 to 0..n (i.e., allowing an unlimited number of occurrences instead of just one); and corrections to Dictionary Entry Names (DENs).

As of UBL 2.5, deprecation markers have been introduced. Deprecated components are retained for backward compatibility and documented accordingly. See also Section 5, “UBL Component Deprecation”.

The Debit Note document type has been redefined to reflect its real-world use as a supplier-issued document that increases the payable amount of a previously issued invoice. For background and rationale, see Section 2.3.7.1.1, “Billing Introduction”.

##### C.8.3.2 Changes to Library Elements, UBL 2.4 to UBL 2.5

UBL 2.5 introduces the following improvements to the UBL library:

- Several changes related to retail transactions, such as improving tax structures to better express tax inclusive amounts, as well as expansion of payment structure to better support card and cash payments.

- Included new structures and elements to track product carbon footprints through fuel consumption and emissions.

- Minor expansions of pre-award and transportation structures.

The following table sums up the differences between the XML elements in the UBL 2.4 Common Library and those in the UBL 2.5 Common Library.

Table C.1. Summary changes to Library Elements Universal Business Language UBL 2.5 CSD02 to 2.4

Aggregate BIE | Basic or Association BIE | Changes for UBL
--- | --- | ---
Address |  |
| StreetName | Changed cardinality from 0..1 to 0..n
| AdditionalStreetName | Changed cardinality from 0..1 to 0..n
| CityName | Changed cardinality from 0..1 to 0..n
| PostalZone | Changed cardinality from 0..1 to 0..n
| CountrySubentity | Changed cardinality from 0..1 to 0..n
AddressLine |  |
| Line | Changed cardinality from 1 to 1..n
Annotation |  | Added
Attachment |  |
| FileName | Added
BuyerReference |  | Added
Capability |  |
| ID | Added
| EvidenceSupplied | Deprecated: Deprecated since UBL 2.5. Use SuppliedEvidence instead.
| SuppliedEvidence | Added
CardAccount |  |
| NetworkID | Changed cardinality from 1 to 0..1
Certificate |  |
| CertificateReferenceID | Added
| ApplicableCategoryCode | Added
| ApplicableCategory | Added
| CertificateURI | Added
| CertificateValidityPeriod | Added
CircularityProfile |  | Added
CompletedTask |  |
| EvidenceSupplied | Deprecated: Deprecated since UBL 2.5. Use SuppliedEvidence instead.
| SuppliedEvidence | Added
Consignment |  |
| HandlingCode | Changed cardinality from 0..1 to 0..n
| OfficeOfTransitLocation | Added
| InsurancePolicy | Added
CreditNoteLine |  |
| WorkReportLineReference | Added
| PurchaseReference | Added
| BeneficiaryParty | Added
| CollectedForParty | Added
DebitNoteLine |  |
| FreeOfChargeIndicator | Added
| InvoicePeriod | Added
| OrderLineReference | Added
| WorkReportLineReference | Added
| OriginatorParty | Added
| BeneficiaryParty | Added
| CollectedForParty | Added
| PaymentTerms | Added
| DeliveryTerms | Added
| ItemPriceExtension | Added
Declaration |  |
| ID | Added
| EvidenceSupplied | Deprecated: Deprecated since UBL 2.5. Use SuppliedEvidence instead.
| SuppliedEvidence | Added
Delivery |  |
| DeliveryNoteDocumentReference | Added
| DeliveryNoteLineReference | Added
DocumentDistribution |  |
| PrintQualifier | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| MaximumCopiesNumeric | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| MaximumOriginalsNumeric | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
DocumentReference |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
EconomicOperatorParty |  |
| EconomicOperatorRole | Changed cardinality from 0..1 to 0..n
ElectronicAddress |  | Added
EmissionCalculationMethod |  |
| EmissionFactorSource | Added
| EmissionFactorDocumentReference | Added
| EmissionCalculationLocation | Added
EndOfLifeTreatment |  | Added
EnergyConsumptionAllocation |  | Added
EnvironmentalEmission |  |
| EnvironmentalEmissionTypeCode | Changed dictionary entry name from “Environmental Emission. Environmental Emission Type Code. Code” to “Environmental Emission. Environmental Emission_ Type Code. Code”
| ValueFactorNumeric | Added
| ValueBaseMeasure | Added
| EmissionStandardReference | Added
| LifecycleStageCode | Added
| LifecycleStageDescription | Added
| MeasurementPeriod | Added
Event |  |
| OccurenceLocation | Deprecated: Deprecated since UBL 2.5. Misspelled element name. Use OccurrenceLocation instead.
| OccurrenceLocation | Added
EvidenceSupplied |  | Deprecated: Deprecated since UBL 2.5. Use Evidence instead.
FinancialAccount |  |
| BlockchainID | Added
GoodsItem |  |
| InsurancePolicy | Added
| EnergyConsumptionAllocation | Added
HazardousItem |  |
| ProperShippingName | Added
| HazardousTypeCode | Added
| PackagingDangerLevelCode | Added
| GrossWeightMeasure | Added
| RadioactiveMaterial | Added
| Package | Added
InsurancePolicy |  | Added
InterestRate |  | Added
InvoiceLine |  |
| LineExtensionAmount | Changed cardinality from 1 to 0..1
| WorkReportLineReference | Added
| PurchaseReference | Added
| BeneficiaryParty | Added
| CollectedForParty | Added
Item |  |
| Name | Changed cardinality from 0..1 to 0..n
| LifecycleStageCode | Added
| LifecycleStageDescription | Added
| EnvironmentalCertificate | Added
| CircularityProfile | Added
LineItem |  |
| BeneficiaryParty | Added
OrderReference |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Party |  |
| MarkCareIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| MarkAttentionIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| EndpointID | Deprecated: Deprecated since UBL 2.5. Use ElectronicAddress instead.
| IndustryClassificationCode | Changed cardinality from 0..1 to 0..n
| PartyIdentification | Deprecated: 0..1 New endorsed cardinality since UBL 2.5. A Party should have a single preferred identifier at most. Use AdditionalPartyIdentification for any additional party identifiers.
| AdditionalPartyIdentification | Added
| PartyName | Deprecated: 0..1 New endorsed cardinality since UBL 2.5. For additional trade names, Doing Business As, etc., use TradePartyName.
| TradePartyName | Added
| ElectronicAddress | Added
PartyLegalEntity |  |
| EntitySizeCode | Added
| SecurityListing | Added
Payment |  |
| StatusCode | Added
| BillingReference | Added
| RemittanceDocumentReference | Added
PaymentMeans |  |
| PaymentRailID | Added
| PaymentPlatformID | Added
| PaymentInstructionAttachment | Added
PaymentTerms |  |
| PenaltyInterestRate | Added
Period |  |
| DescriptionCode | Deprecated: 0..1 New endorsed cardinality since UBL 2.5. A Period should at most be associated with a single Code.
Person |  |
| NationalityID | Deprecated: Deprecated since UBL 2.5. The use of this element is unclear. Use NationalityCode to specify a person's nationality, or NationalID to include a persons national identification number.
| NationalID | Added
| NationalityCode | Added
| CitizenshipCountry | Changed cardinality from 0..1 to 0..n
PostAwardProcess |  |
| ElectronicPaymentUsageIndicator | Deprecated: 0..1 New endorsed cardinality since UBL 2.5. There cannot be more than one ElectronicPaymentUsageIndicator.
PromotionalEvent |  |
| FirstShipmentAvailibilityDate | Deprecated: Deprecated since UBL 2.5. Misspelled element. Use FirstShipmentAvailabilityDate instead.
| FirstShipmentAvailabilityDate | Added
RadioactiveIsotope |  | Added
RadioactiveMaterial |  | Added
RemittanceAdviceLine |  |
| BeneficiaryParty | Added
ResourceConsumption |  | Added
RoadTransport |  |
| TrailerLicensePlateID | Added
Score |  | Added
SecurityListing |  | Added
ShareholderParty |  |
| PartecipationPercent | Deprecated: Deprecated since UBL 2.5. The element is wrongly spelled. Use ParticipationPercent instead.
| ParticipationPercent | Added
Shipment |  |
| HandlingCode | Changed cardinality from 0..1 to 0..n
| InsurancePolicy | Added
StatementLine |  |
| BeneficiaryParty | Added
Status |  |
| DocumentationAttachment | Added
TaxCategory |  |
| SupplyTypeCode | Added
TenderingCriterionResponse |  |
| EvidenceSupplied | Deprecated: Deprecated since UBL 2.5. Use SuppliedEvidence instead.
| SuppliedEvidence | Added
TenderingProcess |  |
| OpenTenderEvent | Deprecated: 0..1 Cardinality deprecated since UBL 2.5. A Tendering Process should not have more than one Open Tender Event.
TransportEquipment |  |
| StowagePositionID | Added
| LoadedHazardousItem | Added
TransportHandlingUnit |  |
| HandlingCode | Changed cardinality from 0..1 to 0..n
| EnergyConsumptionAllocation | Added
WasteGenerated |  | Added
WorkQuantityTotal |  | Added
WorkReportLine |  | Added

##### C.8.3.3 Changes to Document Elements, UBL 2.4 to UBL 2.5

The following table sums up the differences between the XML elements in the UBL 2.4 document schemas and those in the UBL 2.5 document schemas.

Table C.2. Summary changes to Document Elements Universal Business Language UBL 2.5 CSD02 to 2.4

Aggregate BIE | Basic or Association BIE | Changes for UBL
--- | --- | ---
AttachedDocument |  | Deprecated: Deprecated from UBL 2.5. Users are encouraged to use a specialized document envelope, such as the OASIS XHE (Exchange Header Envelope).
AwardedNotification |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
CallForTenders |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
Catalogue |  |
| ApplicableTerritoryAddress | Added
ContractAwardNotice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
ContractNotice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
CreditNote |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BuyerReference | Deprecated: Deprecated since UBL 2.5. Use the BuyerReference ASBIE instead.
| DefaultLanguageCode | Added
| DeliveryNoteDocumentReference | Added
| WorkReportDocumentReference | Added
| BuyerReference | Changed cardinality from 0..1 to 0..n
| BuyerReference | Changed dictionary entry name from “Credit Note. Buyer_ Reference. Text” to “Credit Note. Buyer Reference” and changed component type from BBIE to ASBIE
| PurchaseReference | Added
| Annotation | Added
| CollectionCreditNoteLine | Added
DebitNote |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| DueDate | Added
| DebitNoteTypeCode | Added
| DefaultLanguageCode | Added
| DeliveryNoteDocumentReference | Added
| WorkReportDocumentReference | Added
| OriginatorDocumentReference | Added
| ProjectReference | Added
| BuyerReference | Added
| PurchaseReference | Added
| Annotation | Added
| PrepaidPayment | Deprecated: Deprecated since UBL 2.5. To avoid confusion in the financial settlement process, a prepaid payment should be declared in an initiating billing document, such as an Invoice, and not in a delta or adjustment document like a Debit Note.
| RequestedMonetaryTotal | Deprecated: To align with Credit Note and Invoice use: A Debit Note is used to adjust an existing billing document. It should not express the final settlement amount. Use LegalMonetaryTotal to represent the total legal monetary impact of the Debit Note instead.
| LegalMonetaryTotal | Added
| CollectionDebitNoteLine | Added
DeliveryNote |  | Added
DespatchAdvice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
DocumentStatus |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
DocumentStatusRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Enquiry |  | Deprecated: Deprecated since UBL 2.5. Use Document Status Request instead.
EnquiryResponse |  | Deprecated: Deprecated since UBL 2.5. Use Document Status instead.
ExceptionCriteria |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
ExceptionNotification |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
ExpressionOfInterestRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
ExpressionOfInterestResponse |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Forecast |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
ForecastRevision |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
FreightInvoice |  | Deprecated: Deprecated since UBL 2.5. Use Invoice instead.
FulfilmentCancellation |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
GoodsItemItinerary |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
GuaranteeCertificate |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
InstructionForReturns |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
InventoryReport |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Invoice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BuyerReference | Deprecated: Deprecated since UBL 2.5. Use the BuyerReference ASBIE instead.
| DefaultLanguageCode | Added
| DeliveryNoteDocumentReference | Added
| WorkReportDocumentReference | Added
| BuyerReference | Changed cardinality from 0..1 to 0..n
| BuyerReference | Changed dictionary entry name from “Invoice. Buyer_ Reference. Text” to “Invoice. Buyer Reference” and changed component type from BBIE to ASBIE
| PurchaseReference | Added
| Annotation | Added
| OriginatorCustomerParty | Added
| BeneficiaryParty | Added
| CollectionInvoiceLine | Added
InvoiceStatusRequest |  | Added
InvoiceStatusResponse |  | Added
ItemInformationRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Order |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
OrderCancellation |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
OrderChange |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
OrderResponse |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
OrderResponseSimple |  | Deprecated: Deprecated since UBL 2.5. Use OrderResponse without OrderLines instead.
PriorInformationNotice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
ProcurementStatus |  | Added
ProcurementStatusRequest |  | Added
ProductActivity |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
ProofOfReexportationReminder |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
QualificationApplicationRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
QualificationApplicationResponse |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Quotation |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
ReceiptAdvice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
Reminder |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
RemittanceAdvice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
RequestForQuotation |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
RetailEvent |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
SelfBilledCreditNote |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| DocumentCurrencyCode | Changed cardinality from 1 to 0..1
| BuyerReference | Deprecated: Deprecated since UBL 2.5. Use the BuyerReference ASBIE instead.
| DefaultLanguageCode | Added
| DeliveryNoteDocumentReference | Added
| WorkReportDocumentReference | Added
| BuyerReference | Changed cardinality from 0..1 to 0..n
| BuyerReference | Changed dictionary entry name from “Self Billed Credit Note. Buyer_ Reference. Text” to “Self Billed Credit Note. Buyer Reference” and changed component type from BBIE to ASBIE
| PurchaseReference | Added
| Annotation | Added
| CollectionCreditNoteLine | Added
SelfBilledInvoice |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BuyerReference | Deprecated: Deprecated since UBL 2.5. Use the BuyerReference ASBIE instead.
| DefaultLanguageCode | Added
| WorkReportDocumentReference | Added
| DeliveryNoteDocumentReference | Added
| BuyerReference | Changed cardinality from 0..1 to 0..n
| BuyerReference | Changed dictionary entry name from “Self Billed Invoice. Buyer_ Reference. Text” to “Self Billed Invoice. Buyer Reference” and changed component type from BBIE to ASBIE
| PurchaseReference | Added
| Annotation | Added
| OriginatorCustomerParty | Added
| BeneficiaryParty | Added
| CollectionInvoiceLine | Added
Statement |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
StockAvailabilityReport |  | Deprecated: Deprecated since UBL 2.5. This type is redundant. Use Inventory Report instead.
Tender |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| BeneficiaryParty | Added
TenderContract |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TenderReceipt |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TenderStatus |  | Deprecated: Deprecated since UBL 2.5. Use Procurement Status instead.
TenderStatusRequest |  | Deprecated: Deprecated since UBL 2.5. Use Procurement Status Request instead.
TenderWithdrawal |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TendererQualification |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TendererQualificationResponse |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TradeItemLocationProfile |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TransportExecutionPlan |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| TransportUserParty | Changed cardinality from 1 to 0..1
TransportExecutionPlanRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
| TransportUserParty | Changed cardinality from 1 to 0..1
| PayeeParty | Deprecated: Deprecated since UBL 2.5. Use BillToParty instead.
| BillToParty | Added
TransportProgressStatus |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TransportProgressStatusRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TransportServiceDescription |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
TransportServiceDescriptionRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
UnawardedNotification |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
UnsubscribeFromProcedureRequest |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
UnsubscribeFromProcedureResponse |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
UtilityStatement |  |
| CopyIndicator | Deprecated: Deprecated since UBL 2.5. No consensus of real use cases for this.
WasteMovement |  | Added
WasteNotification |  | Added
WorkReport |  | Added

#### C.8.4 Editorial changes from UBL 2.4 to UBL 2.5

As this is a very lengthy specification, this guidance to the reader reflects where UBL 2.5 has not changed substantially or substantively from UBL 2.4. Editorial changes that are related to grammar, spelling, and turn of phrase are not enumerated.

Section 1, “Introduction” is unchanged from UBL 2.4.

Section 2, “UBL 2.5 Business Objects” is unchanged from UBL 2.4.

Section 3, “UBL 2.5 Schemas” now includes endorsed external schemas as part of UBL, offering forward-compatible extensibility.

Section 4, “Additional Document Constraints” is unchanged from UBL 2.4.

Section 5, “UBL Component Deprecation” is a new section introduced in UBL 2.5, which introduces a new policy layer for marking UBL components for deprecation.

Section 6, “UBL Digital Signatures” is unchanged from UBL 2.4.

Section 7, “Conformance” clarifies that the introduction of element deprecation does not change conformance rules.

Appendix B, Release Notes (Non-Normative) adds UBL 2.5 to the section on upgrading, adds critical information about component deprecation and using endorsed schemas, and enumerates the known errors in the document models.

Appendix C, Revision History (Non-Normative) adds details of the changes from UBL 2.4 to UBL 2.5.

Appendix D, The UBL 2.5 Data Model (Non-Normative) adds additional columns and information about deprecated elements and endorsed cardinalities.

Appendix E, Data Type Qualifications in UBL (Non-Normative) has been updated to document attributes that are now deprecated in UBL.

Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative) is unchanged from UBL 2.4.

Appendix G, UBL 2.5 Example Document Instances (Non-Normative) includes a revised list of example instances.

Appendix H, Alternative Representations of the UBL 2.5 Schemas (Non-Normative) is unchanged other than referring to UBL 2.5 instead of UBL 2.4.

Appendix I, The Open-edi reference model perspective of UBL (Non-Normative) is unchanged.

Appendix J, Acknowledgements (Non-Normative) is changed to reflect the active membership of the technical committee during the development of UBL 2.5.

The semantic role of the Debit Note document has been updated to reflect industry practice. It is now defined as a supplier-issued document increasing the amount of a previously issued invoice. See Section 2.3.7.1.1, “Billing Introduction”.

## Appendix D The UBL 2.5 Data Model (Non-Normative)

### D.1 The Use of the OASIS Business Document Naming and Design Rules

As described in the OASIS UBL Naming and Design Rules [UBL-NDR] application of the OASIS Business Document Naming and Design Rules [BD-NDR], the UBL data model design follows the principles of the UN/CEFACT Core Components Technical Specification [CCTS]. The UBL data model is based on a library of reusable information items known as Business Information Entities (BIEs). Each business document defined by UBL is created by assembling items appropriate to that document type from the UBL BIE library. Further detail regarding BIEs is provided in Section D.2, “Business Information Entities”.

Historically, both the UBL common library of reusable components and the assembly models for the individual UBL documents have been published as separate spreadsheets using a format specifically developed for UBL business information modeling (this format is discussed further below). Beginning with UBL 2.5, all of these models are published as separate worksheets in a single spreadsheet. This spreadsheet is provided in both Open Document and Microsoft Excel formats in `mod/` subdirectory (see Section D.4, “The CCTS Specification of UBL Business Information Entities” for details regarding the spreadsheet columns):

> `mod/UBL-Entities-2.5.ods`
> `mod/UBL-Entities-2.5.xls`

A machine-processable XML version of the spreadsheet contents for the entire UBL data model is provided in OASIS genericode [genericode] format:

> `mod/UBL-Entities-2.5.gc`

Similar files for the UBL standardized signature extension also are in `mod/` subdirectory:

> `mod/UBL-Signature-Entities-2.5.ods`
> `mod/UBL-Signature-Entities-2.5.xls`
> `mod/UBL-Signature-Entities-2.5.gc`

An HTML rendition of the spreadsheet contents for the entire UBL data model and of the signature extension data model are provided:

> `mod/summary/reports/All-UBL-2.5-Documents.html`
> `mod/summary/reports/UBL-CommonSignatureComponents-2.5.html`

For links to the individual HTML reports for each of the document types, see the schema tables in Section 3.2, “UBL 2.5 Document Schemas”. These reports elide all of the library components that are not used by each document type and are far shorter than the “all documents” report.

For notes on the use of the HTML reports, see

> `mod/summary/readme-Reports.html`

### D.2 Business Information Entities

In the language of [CCTS], UBL Business Information Items (BIEs) include BBIEs (“basic” individual pieces of information), ABIEs (aggregations of other BIEs), and ASBIEs (“associations” to ABIEs). Fuller explanations of these terms in the context of the CCTS framework will be found in the CCTS specification. For purposes of understanding UBL as a set of XML schemas, however, it may be useful to describe these terms employing concepts more familiar to XML users. Refer to Section D.4, “The CCTS Specification of UBL Business Information Entities” for the details of how these concepts and their nuances are specified for UBL in the spreadsheet tools used by the committee.

With the understanding that every XML document describes a logical tree of elements, the different kinds of Business Information Entities from which UBL documents are constructed may be described as follows:

UBL BBIEs (Basic Business Information Entities) are the leaf nodes of every UBL document structure. These are ordinary data fields such as one would expect to find in any business form, and they are realized in the schemas as individual XML elements at the bottom level of the document tree with simple content representing amounts, codes, quantities, and so on. All UBL BBIE elements (and only UBL BBIE elements) are members of the UBL common basic components namespace, conventionally denoted in UBL schemas by the `cbc:` prefix. (Since all namespace prefixes in XML are assigned on a per-instance basis according to namespace declarations in the individual instance, prefixes such as `cbc:` may be replaced with arbitrarily different namespace prefixes in actual UBL documents.)

UBL ASBIEs (Association Business Information Entities) are substructures of a UBL document. Children of ASBIEs may be BBIEs or other ASBIEs, never ABIEs. All UBL ASBIEs (and only UBL ASBIEs) are members as elements of the UBL common aggregate components namespace, denoted in UBL schemas by the `cac:` prefix.

UBL document ABIEs (Aggregate Business Information Entities) are the root nodes and top-level structures of UBL documents. Children of document ABIEs may be BBIEs or ASBIEs, never ABIEs. All UBL document ABIEs (and only UBL document ABIEs) are defined within individual namespaces specific to each document as both elements and types.

UBL library ABIEs (that is, all ABIEs except document ABIEs) have a structural shape but are not concrete document structures; rather, they are abstract structures or templates for ASBIEs, thus allowing the same structure to be reused in multiple roles. Children of library ABIEs in the data structure can be BBIEs or ASBIEs, never ABIEs. All library ABIEs are realized as ASBIEs in order to actually exist as elements in the UBL document tree. All UBL library ABIEs (and only UBL library ABIEs) are realized as types in the UBL `cac:` namespace.

This naming scheme inherited from CCTS may prove problematic for some UBL users. In particular, the CCTS terms “Association Business Information Entity” and “Aggregate Business Information Entity” do not well describe these two concepts as they are realized in XML. The problem word here is “association”, which correctly describes this relationship within a UML (Unified Modeling Language) framework but is perhaps better thought of in the UBL context as meaning that a particular ASBIE is “associated with” an abstract ABIE structure. For our purposes, it would have been better if ASBIEs had instead been called “Aggregate Business Information Entities” and ABIEs had instead been called “Structural Templates”. It may prove easiest for the UBL user to regard the terms ASBIE and ABIE as opaque labels and to ignore the historical expansions of these acronyms.

It can be seen from the above that the XML implementations of ASBIEs and library ABIEs share the same `cac:` namespace. In the schemas, library ABIEs are all implemented as XML types, and ASBIEs are all implemented as XML elements. This is simply a reflection of their different roles—library ABIEs as abstract classes or structural templates (realized as XML types) and ASBIEs as concrete instantiations (realized as XML elements derived from those types).

While the distinction between ABIEs/classes/types on the one hand and ASBIEs/instantiations/elements on the other is clear enough, it ought to be noted that in some cases an ASBIE does not qualify the name of the ABIE from which it is derived. In effect, they have the same name. Some library ABIEs are used only in the form of an ASBIE having the same name; for example, `AddressLine` is a library ABIE that is only used in the form of an ASBIE named `AddressLine.` Some library ABIEs are realized in some places as ASBIEs with the same name (where it is felt that the unqualified name is sufficient) and elsewhere as ASBIEs with a name that is further qualified; for example, the library ABIE `Address` has numerous ASBIE realizations with qualified names like `LocationAddress`, `ApplicableAddress`, `DespatchAddress`, and so on, but it’s also seen as an ASBIE simply named `Address` that’s included in the library ABIEs `FinancialInstitution`, `Branch`, `Location`, and `ConsumptionPoint`. Some library ABIEs are never actually implemented as ASBIEs with the same name; for example, only one ASBIE is associated with the library ABIE `ActivityDataLine`, and it has the qualified name `SupplyChainActivityDataLine`.

The UBL Common Aggregate Component schema declares an identically named element or potential ASBIE for every library ABIE regardless of whether that element is used in a UBL document schema to represent an ASBIE (these are among the long list of global element declarations at the beginning of the CAC module). ABIEs are implemented as one or more ASBIEs via XSD references to these elements farther down in the CAC schema module or in individual document schema modules, which all import the CAC module. For example, the global element `AddressLine` declared in the CAC with the line

       <xsd:element name="AddressLine" type="AddressLineType"/>

is implemented as an ASBIE with the same name in the declaration of the `Address` ABIE as follows:

       <xsd:element ref="cac:AddressLine" minOccurs="0" maxOccurs="unbounded">
          [...]
       </xsd:element>

One consequence of this approach is that the list of global elements that begins the CAC module contains elements that are in fact never used under those names in UBL 2.5. For example, the element `ActivityDataLine` mentioned above is used by reference in creating the ASBIE `SupplyChainActivityDataLine`, but it never appears in the form of an ASBIE named `ActivityDataLine`. Such unused ABIE names remain available in the global element declarations for customizers and designers of future additions to UBL.

Refer to Section D.4, “The CCTS Specification of UBL Business Information Entities” for more information regarding the granularity of CCTS information maintained in the UBL document models.

### D.3 Navigating the UBL Data Model

The concepts described above can be illustrated by navigating the UBL data model to construct a trivial UBL Invoice instance.

We will start with a wrapper copied from an example in the `xml/` directory of the UBL distribution (`xml/UBL-Invoice-2.1-Example.xml` ) that has the required XML namespace declarations for the Invoice and for the common library components (“`cac`” for the aggregate (ABIE and ASBIE) components and “`cbc`” for the basic (BBIE) components):

    <?xml version="1.0" encoding="UTF-8"?>
    <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
    xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
    xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
    [...]
    </Invoice>

Now we will fill out this shell of an instance, completing the part in the square brackets by traversing the data model.

In addition to the aforementioned complete UBL data model spreadsheets and HTML rendering, when dealing with only a single document type there is an HTML rendition of that subset of the spreadsheet contents with only that content utilized by the one document type, such as for the Invoice:

> `mod/summary/reports/UBL-Invoice-2.5.html`

Line 2 of the Invoice model defines the document ABIE named `Invoice` . The Component Type column confirms that `Invoice` is an ABIE, as also indicated by the pink background in that row of the rendering.

Everything after `Invoice` in the model ends up as part of the schema, and the order seen here is the order in which these components will appear in both the schema and any conforming instances of `Invoice` . The BBIE children of `Invoice` are given first (white background), and then all the ASBIE children of `Invoice` (green background).

As shown in Cardinality column, most of these components are optional. The first required field is `ID` (line `7) and the second is IssueDate` (line 10), so we can write, for example,

      <cbc:ID>123</cbc:ID>
      <cbc:IssueDate>2011-09-22</cbc:IssueDate>

Next let’s add an optional `InvoicePeriod` (line 26). This is an ASBIE, implying that it has some kind of substructure, and it derives from the generic ABIE called `Period` (this is the “Associated Object Class” referred to in a column of the same name). To find this structure, we look for the `Period` library ABIE in the model report or in the Common Library worksheet of the UBL model spreadsheet.

`Period` will be found at line 1881 and seen to contain a number of possible BBIE children, all of them optional; and the ASBIE `InvoicePeriod` in `Invoice` therefore has this structure, too. From this one could conclude that instantiations of the `Period` structure (there are more than 50 of them in UBL) might not contain any of the seven optional BBIE elements specified after line 1881, and indeed the corresponding declaration of the complex type `PeriodType` in the CAC schema (`xsd/common/UBL-CommonAggregateComponents-2.5.xsd` ) shows that an empty `InvoicePeriod` element will pass XML validation; but UBL explicitly prohibits such structures (see Section 4.4, “Empty Elements”). In UBL, as a normative rule independent of schema constraints, every ASBIE will have at least one child (BBIE or ASBIE) instantiated. In this case, therefore, one or more of the seven possible BBIE children of `InvoicePeriod` will need to appear in a UBL Invoice document for it to be conforming to UBL in addition to the requirement that the document validate against the `Invoice` schema. If `StartDate` and `EndDate` (for example) are chosen for the content of `InvoicePeriod` , the corresponding section of the sample instance might then look like this:

      <cac:InvoicePeriod>
        <cbc:StartDate>2011-08-01</cbc:StartDate>
        <cbc:EndDate>2011-08-31</cbc:EndDate>
      </cac:InvoicePeriod>

Next in order in the Invoice come two required pieces, the ASBIEs `AccountingSupplierParty` and `AccountingCustomerParty` . As shown in Associated Object Class column of the Invoice model, `AccountingSupplierParty` (line 42) derives from the `SupplierParty` ABIE and `AccountingCustomerParty` (line 43) derives from the `CustomerParty` ABIE. Checking in the Common Library, it is seen that both `SupplierParty` (line 2571 of the Common Library) and `CustomerParty` (line 679 of the Common Library) can contain an ASBIE named `Party` (as shown in lines 2575 and 683, respectively) and that each `Party` ASBIE is an instantiation of the `Party` ABIE (line 1745). Therefore both parties have the same structure (the BBIEs and ASBIEs following line 1745). Thus `AccountingSupplierParty` and `AccountingCustomerParty` share the information components common to parties in general and differ in the information specific to suppliers and customers. Parties commonly have a `PartyName` (line 1754) that derives (the Associated Object Class column) from the ABIE `PartyName` (line 1794), which is a wrapper for the BBIE `Name` (line 1795). A conforming piece of the document instance might therefore look like this:

      <cac:AccountingSupplierParty>
        <cac:Party>
          <cac:PartyName>
            <cbc:Name>Custom Cotter Pins</cbc:Name>
          </cac:PartyName>
        </cac:Party>
      </cac:AccountingSupplierParty>
      <cac:AccountingCustomerParty>
        <cac:Party>
          <cac:PartyName>
            <cbc:Name>North American Veeblefetzer</cbc:Name>
          </cac:PartyName>
        </cac:Party>
      </cac:AccountingCustomerParty>

Returning to the Invoice model, it is seen that the `Invoice` needs to end with a `LegalMonetaryTotal` (line 62) and at least one `InvoiceLine` (line 64). Taking `LegalMonetaryTotal` first, it is found in the Common Library to be derived from `MonetaryTotal` (line `1657), which has a mandatory PayableAmount` BBIE. A corresponding example instance fragment might be therefore be constructed as follows:

      <cac:LegalMonetaryTotal>
         <cbc:PayableAmount currencyID="CAD">100.00</cbc:PayableAmount>
      </cac:LegalMonetaryTotal>

If the preceding explanation of `Party` is understood, there ought to be nothing problematic about the process of forming the example `LegalMonetaryTotal` element shown above except the `currencyID` attribute on `PayableAmount` , which does not appear explicitly in the model line for that BBIE (line 1668). This is because UBL does not define the primitive data types upon which the model is built; instead it uses standard data type definitions from [CCTS] and [XSD2]. In the case of `PayableAmount` , the CCTS data type (the Data Type column) is “Amount. Type” (the space is part of the name), and that type is defined in [CCTS] itself (Table 8-1 of the CCTS 2.01 specification). There it will be seen that “Amount. Type” has two supplementary “CCT Components” called “Amount. Currency. Identifier” and “Currency. Code List Version. Identifier”. In the XML realization of CCTS, supplementary components are expressed as attributes, and the CCTS names “Amount. Currency. Identifier”and “Currency. Code List Version. Identifier” are transformed into the XML attribute names `currencyID` and `currencyCodeListVersionID`, respectively. All of these CCTS-based types and attributes are declared in the CCTS Core Component Type schema module:

> `xsd/common/BDNDR-CCTS_CCT_SchemaModule-1.1.xsd`

Note that this schema module comes from UN/CEFACT, not UBL; that it does not implement all of the supplementary components of core component types defined by [CCTS]; and that all of the attributes it does declare are defined as optional. In UBL, however, the attributes `currencyID` and `mimeCode` are required, not optional. In order to impose its own restrictions, therefore, and also to supply a full set of supplementary component attributes, UBL provides an Unqualified Data Types module that imports the CCTS module and then overrides those definitions as needed:

> `xsd/common/BDNDR-UnqualifiedDataTypes-1.1.xsd`

Further information about UBL data types can be found in Appendix E, Data Type Qualifications in UBL (Non-Normative). Note in particular Table E.2, “UBL Unqualified Data Types”, which includes a list of all the attributes associated with UBL unqualified data types. A reverse lookup of the implied occurrence of each attribute in the data models is provided in this summary report:

> `mod/summary/reports/All-UBL-2.5-Documents.html#UDT`

In the example fragment above, `currencyID` has been used to label the amount in Canadian dollars (CAD). As explained in Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative), the value `CAD` for this attribute is not specified in schemas to be checked using XSD validation but will instead be found in separate OASIS genericode code list files in the `gc/` directory of the UBL distribution, which are engaged through a separate XSLT-based process.

Using the same methodology, a sample `InvoiceLine` can be constructed to complete the example as follows:

      <cac:InvoiceLine>
        <cbc:ID>1</cbc:ID>
        <cbc:LineExtensionAmount currencyID="CAD">100.00</cbc:LineExtensionAmount>
        <cac:Item>
           <cbc:Description>Cotter pin, MIL-SPEC</cbc:Description>
        </cac:Item>
      </cac:InvoiceLine>

The finished example can be found in

> `xml/UBL-Invoice-2.1-Example-Trivial.xml`

### D.4 The CCTS Specification of UBL Business Information Entities

The UBL Business Information Entities (BIEs) outlined in Section D.2, “Business Information Entities” are specified in CCTS terms by the technical committee through the use of the office spreadsheets cited in Section D.1, “The Use of the OASIS Business Document Naming and Design Rules”.

The column values for each BIE are governed by the OASIS Business Document Naming and Design Rules. A summary of these columns is provided here for reference, listed in order of columns A through V:

- A - Component Name

  - the label used to identify the BIE in the serialization markup (for XML this is the element name used in the start tag and the end tag surrounding the information)

  - the value is algorithmically derived from other column values and so is never a data value entered by users

- B - Subset

  - an unspecified value reserved for use by tools processing the CCTS model for arbitrary purposes

  - certain publicly-available tools will use this column to interpret the cardinality of the BIE within a subset model of cherry-picked BIEs, where a cardinality of 0 indicates that the BIE is not found within the subset

  - the value is specified by users of the UBL specification who are configuring a subset document model

- C - Cardinality

  - the constraint of how often the given BIE will be or is allowed to be repeated when encountered in a UBL document

  - 1=mandatory, 0..1=optional, 1..n=mandatory and repeatable, 0..n=optional and repeatable

  - the value is specified by the UBL Technical Committee

- D - Endorsed Cardinality

  - in light of the deprecation of components, this column reflects the revised cardinality when it is different than the standardized cardinality in such a way that it would break backwards compatibility

  - 0=deprecated and not used and not available in future versions of UBL, 1=mandatory, 0..1=optional, 1..n=mandatory and repeatable, 0..n=optional and repeatable

  - the value is specified by the UBL Technical Committee

  - this column is not included in the HTML summary reports

- E - Endorsed Cardinality Rationale

  - used when using the endorsed cardinality breaks backward compatibility to explain the rationale used by the committee in deciding to take such a decision

  - the text is specified by the UBL Technical Committee

  - this column is not included in the HTML summary reports

- F - Definition

  - a prose description of the semantic represented by the use of this BIE

  - the value is specified by the UBL Technical Committee

- G - Deprecated Definition

  - when the accepted definition in the previous column is changed, this column is used to preserve the old deprecated definition

  - the value is specified by the UBL Technical Committee

  - this column is not included in the HTML summary reports

- H - Alternative Business Terms

  - examples of common terms used that are synonymous with the name adopted for the BIE

  - the value is specified by the UBL Technical Committee

- I - Examples

  - example values that might be found when this BIE is used in a document

  - the value is specified by the UBL Technical Committee

- J - Dictionary Entry Name

  - the unambiguous name of this BIE using the ISO/IEC 11179 classification naming scheme

  - this value can be used as a unique key for the BIE across the entire CCTS model for UBL

  - the value is algorithmically derived from other column values and so is never a data value entered by users

- K - Object Class Qualifier

  - the component of the Dictionary Entry Name that distinguishes the object class from other like-named object classes

  - this value is always empty for all BIEs in UBL and remains in the spreadsheet solely for ISO/IEC 11179 completeness

  - in UBL object classes are qualified by their use in context using the property term qualifier, not by their definition

  - this value is not specified by anyone and ought not be used in UBL

  - this column is not included in the HTML summary reports

- L - Object Class

  - the identification of the aggregate BIE in which this BIE resides

  - the value is specified by the UBL Technical Committee

- M - Property Term Qualifier

  - a qualification of the property term to distinguish this property term from another like-named property term used within the aggregate

  - the value is an adjective; refer to the discussion that follows regarding the composition of a qualified property term

  - the value is specified by the UBL Technical Committee

- N - Property Term Possessive Noun

  - a component of the property term that distinguishes using context this property term’s primary noun from another property term’s primary noun used within the aggregate

  - the value is a noun; refer to the discussion that follows regarding the composition of a qualified property term

  - the value is specified by the UBL Technical Committee

- O - Property Term Primary Noun

  - a component of the property term that identifies the root meaning of the semantic concept typically being context free

  - the value is a noun; refer to the discussion that follows regarding the composition of a qualified property term

  - the value is specified by the UBL Technical Committee

- P - Property Term

  - the CCTS-defined single-valued property term composed of the two components specified in the OASIS NDR that make up this value

  - refer to the discussion that follows regarding the composition of a qualified property term

  - the value is algorithmically derived from other column values and so is never a data value entered by users

- Q - Representation Term

  - the semantic-free identification of the format or structure of the BIE value

  - one does not have to know the property term or semantic concept or context of use to know the structure of the value of the BIE, as the representation term is sufficient to know how to constrain the BIE value in the document

  - for BBIEs this is the data type identifier and is specified by the UBL Technical Committee

  - for ASBIEs this is the associated object class and is algorithmically derived from other column values

- R - Data Type Qualifier

  - semantically identifies a value constraint that, optionally, may be imposed by users on the value of a BBIE

  - the UBL Technical committee identifies candidate data type qualifiers but does not impose any value constraints by doing so

  - users of UBL may choose to impose value constraints in a deployment, and this semantic identifier guides them in the nature of the constraint to impose

  - users of UBL may choose to impose value constraints on any value in a UBL document, not only those values qualified using this identifier as some semantic value constraint

  - the value is specified by the UBL Technical Committee

- S - Data Type

  - identifies the lexical constraint on a BBIE value, that is, the character-level contents or structure of an atomic string value in the UBL document

  - the value is algorithmically derived from other column values and so is never a data value entered by users

- T - Associated Object Class Qualifier

  - the component of the Dictionary Entry Name that distinguishes the associated object class from other like-named object classes

  - this value is always empty for all BIEs in UBL and remains in the spreadsheet solely for ISO/IEC 11179 completeness

  - in UBL object classes are qualified by their use in context using the property term qualifier, not by their definition

  - this value is not specified by anyone and ought not be used in UBL

  - this column is not included in the HTML summary reports

- U - Associated Object Class

  - the associated object class of an ASBIE identifying the object class that describes the structured value of this BIE

  - the value is specified by the UBL Technical Committee

- V - Component Type

  - identifies the CCTS type of the BIE

    - an ABIE is an aggregate BIE that defines an object class

    - a BBIE is a basic BIE, defined by a data type, collected as the first children of an ABIE before all ASBIEs

    - an ASBIE is an association BIE, defined by an ABIE, collected as the last children of an ABIE after all BBIEs

  - the value is specified by the UBL Technical Committee

- W - UN/TDED Code

  - indicates the semantic of the BIE through the use of an identifier used in the United Nations Trade Data Element Directory (ISO 7372)

  - the value is specified by the UBL Technical Committee

- X - Current Version

  - indicates the version of UBL in which this BIE was introduced into the document model

  - the value is specified by the UBL Technical Committee

- Y - Last Changed

  - the version number when this BIE last was changed

  - the value is specified by the UBL Technical Committee

- Z - Editor’s notes

  - a free-form text value of some information of record that may be useful to readers, users, or committee members

  - the value is specified by the UBL Technical Committee

  - this column is not included in the HTML summary reports

An ABIE is an object class and is named as a unqualified noun. It contains BBIE (basic) and ASBIE (association) business information entities, in that order, as child properties.

The property term of an ASBIE is its representation term which, in turn, is also its associated object class that defines it. That is, the ASBIE is reified in the XML document as an instance of the ABIE object class to which it is associated. Accordingly, ASBIEs property terms as nouns, that being the noun of the ABIE, though it may also be qualified in its context of use.

The property term of a BBIE is modeled using a refinement of the CCTS concepts as described in the OASIS Business Document Naming and Design Rules. Unlike the monolithic ASBIE property term noun, in UBL the BBIE property term is built as a two-part combination noun, where one part is optional:

- property term primary noun

  - when the representation term is not text, the primary noun is the representation term of the BBIE under the presumption this is the basic semantic concept

  - when the representation term is text, the primary noun is the simplest basic semantic concept reflected in the text value of the BBIE

- property term possessive noun

  - the possessive noun leads the primary noun expanding on the primary noun to distinguish the semantic concept from other BBIEs based on the same semantic concept

  - this cannot be an adjective and it will be a noun along the lines of “the {primary noun} relates to the {possessive noun}” or using the possession concept “the {possessive noun}’s {primary noun}”

- the CCTS property term is simply the concatenation of the possessive noun and the primary noun

Additionally, the ASBIE or BBIE property term may be augmented by a property term qualifier as an adjective. This qualification may be needed or helpful to clarify the semantic role of the BIE, or it may be necessary in order to disambiguate other sibling BIEs of the parent ABIE:

- this cannot be a noun and it will be an adjective along the lines of “the {property term} of qualified type {qualifier}”

Consider the following excerpt from the “Address. Details” ABIE where these property term concepts are illustrated:

Property Term Qualifier | Property Term Possessive Noun | Property Term Primary Noun | Property Term | Rep. Term
--- | --- | --- | --- | ---
| Street | Name | Street Name | Name
Additional | Street | Name | Street Name | Name
| Block | Name | Block Name | Name
| Building | Name | Building Name | Name
| Building | Number | Building Number | Text
Inhouse |  | Mail | Mail | Text
|  | Department | Department | Text
| Mark | Attention | Mark Attention | Text
| Mark | Care | Mark Care | Text
| Plot | Identification | Plot Identification | Text
| City Subdivision | Name | City Subdivision Name | Name
| City | Name | City Name | Name
Postal |  | Zone | Zone | Text
| Country | Subentity | Country Subentity | Text
| Country Subentity | Code | Country Subentity Code | Code
|  | Region | Region | Text
|  | District | District | Text
| Timezone | Offset | Timezone Offset | Text
|  | Room | Room | Text

- the words in the qualifier column all are adjectives, and the words n the property term columns all are nouns

- there are many examples of the information being captured in a BBIE as the name of a given semantic concept: and so uses the representation term of “Name”:

  - the street name, the block name, the building name, the city subdivision name, and the city name

- the possessive noun clarifies the nature of the semantic concept, that is, the primary noun is of type possessive noun, thus using the possessive concept:

  - “Street” identifies the street’s name, “Block” identifies the block’s name, “Building” identifies the building’s name, “City Subdivision” identifies the city subdivision’s name, and “City” identifies the city’s name

- the property term qualifier is an adjective needed when the same property term semantic concept exists for more than one reason in the one ABIE

  - for example, the qualifier “Additional” distinguishes a supplemental street name that may exist in addition to the street name, thus, “Address. Additional_ Street Name. Name” is distinguished from “Address. Street Name. Name”, while, in fact, they both are street names

Two other illustrations of the nuances of property term naming conventions are as follows:

- comparing CountrySubentity and CountrySubentityCode:

  - the text-based value is expressed colloquially as “the country’s subentity” while the coded domain value is expressed as “the country subentity’s code”

  - all of the words are nouns

- comparing Region, TimezoneOffset, and PostalZone:

  - all are text values and so all the primary nouns are the base concepts of “region”, “offset”, and “zone”

  - no modifiers are needed for the region as that is sufficient to describe the semantic concept found in the address

  - the offset is related to the timezone as in “the timezone’s offset” (not “the offset is a timezone”, “timezone” is a noun)

  - the zone is a postal zone as in “a zone of type postal” (not “the zone relates to the postal”, “postal” is an adjective))

### D.5 UBL Validation Artefact Generation

Following the relevant sections of the OASIS Business Document Naming and Design Rules, the normative UBL schemas and the non-normative OASIS Context/Value Association [CVA] file are generated from the machine-processable XML of the CCTS model expressed in the spreadsheet contents. From the CVA file and the genericode expressions of code list values, the data type qualifications XSLT stylesheet is generated.

The following diagram shows the conceptual relationships between the UBL data model (CCTS and CVA) on the left and validation artefacts (schemas and XSLT) on the right. Compare Figure 90, “UBL Schema Dependencies”.

Figure D.1. UBL Data Model Realization

In the diagram section for the modeling artefacts, the UBL data model of business information entities is described using CCTS as detailed in Section D.2, “Business Information Entities”. Each document ABIE is in its own namespace and makes references to the contained BBIEs and ASBIEs to library ABIEs. The library ABIEs are defined by the contained BBIEs and ASBIEs to library ABIEs. The library ABIEs and ASBIEs are all in the aggregate namespace. The document and library BBIEs are all in the basic namespace. The business objects and document aggregates are reified as validation artefacts in XSD, illustrated in each box as an XSD schema fragment associated with the namespace URI string indicated by the documentary namespace prefix.

Also shown in the modeling artefacts are the semantic code list associations in CVA for the context/value constraints governed by lists of codes in genericode files. The CVA and genericode files are used to create the data type qualifications XSLT stylesheet validation artefact used for the demonstrative second-pass validation process documented in Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative).

In the diagram section for the validation artefacts, the namespaces shown in the shaded boxes (with prefixes `qdt:`, `udt:`, `ccts-cct:` and `ccts:`) exist only for the management of the schema components and have no utility in UBL XML document instances. Declaring unused namespaces in an XML instance is superfluous and does not impact on conformance, but having them present may be confusing or misleading to the reader.

### Note

All namespace prefixes used in this specification and in the validation artefacts are arbitrarily chosen and used consistently for documentary purposes. There is no requirement to use these particular namespace prefix values in actual UBL documents. This is in contrast to the UBL namespace URI strings that are normative and will be used as required whatever arbitrary non-normative namespace prefixes are chosen by users.

## Appendix E Data Type Qualifications in UBL (Non-Normative)

All UBL data types ultimately derive either from the UN/CEFACT Core Components Technical Specification [CCTS] Core Component Types (CCT) or from the W3C Schema specification [XSD2] itself; this derivation takes place in the UBL UDT module. The following table lists the CCTS 2.01 Core Component Types.

Table E.1. CCTS Core Component Types

CCTS CCT | Definition
--- | ---
Amount. Type | A number of monetary units specified in a currency where the unit of currency is explicit or implied.
Binary Object. Type | A set of finite-length sequences of binary octets.
Code. Type | A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an Attribute together with relevant supplementary information.
Date Time. Type | A particular point in the progression of time together with relevant supplementary information.
Identifier. Type | A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects in the same scheme together with relevant supplementary information.
Indicator. Type | A list of two mutually exclusive Boolean values that express the only possible states of a Property.
Measure. Type | A numeric value determined by measuring an object along with the specified unit of measure.
Numeric. Type | Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure.
Quantity. Type | A counted number of non-monetary units possibly including fractions.
Text. Type | A character string (i.e. a finite set of characters) generally in the form of words of a language.

The UBL unqualified data types include the CCTS unqualified data types (named according to the UBL Naming and Design Rules) and a few others, as listed in the following table. Some of these (`GraphicType`, `PictureType`, `SoundType`, `VideoType`, and `ValueType`) are defined for completeness but not actually used in UBL 2.5.

The rightmost column of this table lists the UBL XML attributes that implement the CCTS supplementary components associated with each CCTS data type. It is important to be aware of these attributes, because they do not appear directly in the UBL data models but are logically implied by data type inheritance and do appear in the UBL XML schemas in accordance with the UBL Naming and Design Rules. As indicated here, a few of the most significant of these supplementary CCTS components become required XML attributes in UBL and will be required in any instance of an element derived from the corresponding type. See Section D.3, “Navigating the UBL Data Model” for an example of UBL attributes and a further discussion of this point. A reverse lookup of the implied occurrence of each attribute in the data models is provided in this summary report:

> `mod/summary/reports/All-UBL-2.5-Documents.html#UDT`

Table E.2. UBL Unqualified Data Types

UBL Unqualified Data Type | Definition | Attributes
--- | --- | ---
AmountType | A number of monetary units specified using a given unit of currency. |
currencyID (required)
currencyCodeListVersionID (deprecated)
BinaryObjectType | A set of finite-length sequences of binary octets. |
format (deprecated)
mimeCode (required)
encodingCode (deprecated)
characterSetCode (deprecated)
uri (deprecated)
filename (deprecated)
GraphicType | A diagram, graph, mathematical curve, or similar representation. |
not used in UBL 2.5
PictureType | A diagram, graph, mathematical curve, or similar representation. |
not used in UBL 2.5
SoundType | An audio representation. |
not used in UBL 2.5
VideoType | A video representation. |
not used in UBL 2.5
CodeType | A character string (letters, figures, or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute, together with relevant supplementary information. |
listID
listAgencyID (deprecated)
listAgencyName (deprecated)
listName (deprecated)
listVersionID (deprecated)
name (deprecated)
languageID (deprecated)
listURI (deprecated)
listSchemeURI (deprecated)
DateTimeType | A particular point in the progression of time, together with relevant supplementary information. |
format (not used in UBL 2.5)
DateType | One calendar day according the Gregorian calendar. |
TimeType | An instance of time that occurs every day. |
IdentifierType | A character string to identify and uniquely distinguish one instance of an object in an identification scheme from all other objects in the same scheme, together with relevant supplementary information. |
schemeID
schemeName (deprecated)
schemeAgencyID (deprecated)
schemeAgencyName (deprecated)
schemeVersionID (deprecated)
schemeDataURI (deprecated)
schemeURI (deprecated)
IndicatorType | A list of two mutually exclusive Boolean values that express the only possible states of a property. |
MeasureType | A numeric value determined by measuring an object using a specified unit of measure. |
unitCode (required)
unitCodeListVersionID (deprecated)
NumericType | Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure. |
format (deprecated)
ValueType | Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure. |
not used in UBL 2.5
PercentType | Numeric information that is assigned or is determined by calculation, counting, or sequencing and is expressed as a percentage. It does not require a unit of quantity or unit of measure. |
format (deprecated)
RateType | A numeric expression of a rate that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure. |
format (deprecated)
QuantityType | A counted number of non-monetary units, possibly including a fractional part. |
unitCode
unitCodeListID (deprecated)
unitCodeListAgencyID (deprecated)
unitCodeListAgencyName (deprecated)
TextType | A character string (i.e. a finite set of characters), generally in the form of words of a language. |
languageID
languageLocaleID (deprecated)
NameType | A character string that constitutes the distinctive designation of a person, place, thing, or concept. |
languageID
languageLocaleID (deprecated)

### Note

Some attributes in the table above are marked as deprecated. Deprecation in this context indicates that the attribute is retained for backwards compatibility but is no longer recommended for use in new implementations. Deprecated attributes are shown in italic and marked with “(deprecated)”.

Some UBL BBIEs have data type qualifications based on the unqualified UBL types. These qualified types are all code types, and their definitions are the mechanism whereby a specific set of values is associated with each code.

UBL data type qualifications are expressed formally in an OASIS [CVA] (Context/Value Association) file contained in the `cva` directory of the 2.5 distribution.

> `cva/UBL-DefaultDTQ-2.5.cva`

The specification of the CVA mechanism and format is maintained by the OASIS Code List Representation Technical Committee.

A human-readable version is provided in an accompanying HTML file, which also serves as primary documentation on the UBL codes defined as qualified data types.

> `cva/UBL-DefaultDTQ-2.5.html`

The `val` directory contains the predefined CVA associations compiled into a runtime XSLT artefact used in the recommended two-phase validation process to perform a check of code list values. See Section F.4, “Customizing the Default XSLT File” for a description of this process.

> `val/UBL-DefaultDTQ-2.5.xsl`

The UBL revised approach to data type qualification contrasted to the UBL 2.0 approach is illustrated in the following diagram.

Figure E.1. Data Type Qualification in UBL

In UBL 2.0, the schema library of common basic components (basic business information entities or BBIEs, (A) in the diagram) is based on a combination of the data types defined in the file of UBL 2.0 qualified data types (C) and the unqualified data types defined in the UN/CEFACT Unqualified Data Type schema module Ver. 1.1 Rev A 16 Feb 2005 (K). The UBL 2.0 data type qualifications XSLT stylesheet (D) was used in the two-pass validation process, offering limitations on values such as code lists hardwired in the UN/CEFACT UDT definition.

In subsequent releases of UBL, the schema library of common basic components ((B) in the diagram) is based on a combination of the data types defined in the file of UBL qualified data types (E) and the data types defined in a file of UBL unqualified data types (M). The latter inherits the data type definitions in the UN/CEFACT CCTS CCT schema module Ver. 1.1 050114 (N). The UBL data type qualifications CVA file (F) controls the creation of the UBL XSLT stylesheet (G) used in the two-pass validation process, offering both limitations and extensions to values such as code lists. While this XSLT file, `UBL-2.5-DefaultDTQ.xsl`, can, when modified, apply to data type qualifications in general (such as field length restrictions and value range restrictions), the version of this file included in the UBL release contains only code list values linked to the metadata of the applicable code list.

The two remaining boxes on the right in the diagram illustrate that users can add further data type qualifications if desired by preparing a custom CVA (H) and creating a custom XSLT file (J) to replace the default CVA and XSLT stylesheet provided in the UBL distribution.

Users intending to prepare a custom CVA ought to note that `cva/UBL-DefaultDTQ-2.5.cva` contains relative URIs that expect the UBL 2.0 code lists from the UBL 2.0 Update Package in a sibling directory named `os-UBL-2.0`, the UBL 2.1 code lists from the UBL 2.1 distribution in a sibling directory named `os-UBL-2.1`, the UBL 2.2 code lists from the UBL 2.2 distribution in a sibling directory named `os-UBL-2.2`, the UBL 2.3 code lists from the UBL 2.3 distribution in a sibling directory named `os-UBL-2.3`, and the UBL 2.4 code lists from the UBL 2.4 distribution in a sibling directory named `os-UBL-2.4`. This is irrelevant to users of the pre-compiled `val/UBL-DefaultDTQ-2.5.xsl` file contained in the UBL package, but users wishing to create their own CVA file need first to install the code lists of prior releases of UBL 2.0. To properly install the update, first download and install the original UBL 2.0 release:

> `https://docs.oasis-open.org/ubl/os-UBL-2.0.zip`

Then download and install the UBL 2.0 update:

> `https://docs.oasis-open.org/ubl/os-UBL-2.0-update-delta.zip`

Then download and install the UBL 2.1 release:

> `https://docs.oasis-open.org/ubl/os-UBL-2.1/UBL-2.1.zip`

Then download and install the UBL 2.2 release:

> `https://docs.oasis-open.org/ubl/os-UBL-2.2/UBL-2.2.zip`

Then download and install the UBL 2.3 release:

> `https://docs.oasis-open.org/ubl/os-UBL-2.3/UBL-2.3.zip`

Then download and install the UBL 2.4 release:

> `https://docs.oasis-open.org/ubl/os-UBL-2.4/UBL-2.4.zip`

Complete installation instructions can be found in the each package. As indicated above, the `os-UBL-2.0/`, `os-UBL-2.1/`, `os-UBL-2.2/`, `os-UBL-2.3/`, and `os-UBL-2.4/` directories thus created need to be siblings directories to the directory created by installing the UBL 2.5 package.

## Appendix F UBL 2.5 Code Lists and Two-phase Validation (Non-Normative)

### F.1 Code Lists Introduction

Code lists—the sets of codes such as “FR” and “USD” that are used to specify countries, currencies, and so on—play an important role in UBL, just as they do in all electronic business messaging schemes. By default, UBL uses several lists of standard codes published by agencies such as ISO and UN/CEFACT, as well as various codes that are specific to UBL.

In UBL 1.0 (2004), standard and default code list values were enumerated directly in the UBL schemas. This allowed all UBL 1.0 instances to be validated in a single pass using generic XML XSD (W3C Schema) processors. However, the specification of the default values directly in the schemas also made it difficult to modify the code lists to suit individual trading partner relationships and impossible to extend the list of allowable code list values while still using the standard UBL schemas as published by OASIS.

To give users maximum flexibility in configuring and updating UBL code lists without changing the standard UBL schemas, UBL 2.0 introduced a two-phase validation model that has now been fully implemented in UBL 2.1 and beyond. In the first phase, the UBL instance is checked for structure and vocabulary against a standard UBL schema using a generic schema validator (or custom-built software performing the same function). This is exactly the same procedure used for validation in UBL 1.0, except that the schemas do not contain hardwired code list values. Then in an added second validation (or verification) phase, code list values in the instance are checked against values obtained from external code list configuration files using an XSLT 2.0 processor driven by an XSLT 2.0 stylesheet. The default code list values assumed by the UBL 2.5 specification are expressed as data type qualifications in a file named `UBL-2.5-DefaultDTQ.xsl` located in the `val` directory, as described in more detail below. Publicly available tools were used to create the XSL file using the methodology described in the “Validation” section of [Customization], the UBL Guidelines for Customization.

Separating the checking of structure and vocabulary from the checking of code values allows trading partners to easily and precisely specify code list subsets and extensions and to apply them not just to individual UBL document types but also to particular elements and sub-trees within UBL document instances. Another way to say this is that the UBL code list methodology allows different versions of the same code list to be used in different document contexts. Thus, for example, a business in Canada might agree with a business in the United States to use a set of code list configuration files that allow the Buyer to be associated with either a U.S. state or a Canadian province but restrict the Seller to just U.S. states—that is, to apply a code list subset containing state and province codes in one place in a document instance and a different code list subset containing just state codes in another place in the instance.

### F.2 Default Validation Setup

To facilitate the processing of UBL instances using the two-phase method, an “out-of-the-box” collection of open-source software that can be used to demonstrate default validation of UBL documents is included in the `val` directory of this release package. The validation harness assumes a Unix-like or Windows system with no currently installed XML or XSLT processing software.

The Java Runtime Environment (JRE) 1.5 or later is required to use the programs in the `val` directory; JRE versions below 1.5 will throw an error from the `xjparse.jar` module used to invoke the Xerxes schema parser. If necessary, download and install the latest JRE from the following location before continuing:

> `http://www.java.com/en/download/manual.jsp`

To demonstrate UBL default validation:

1. Change to the `val` directory from within a command or shell prompt.

2. From within that directory, enter the test command

   `test.bat` (Windows command prompt)

   or

   `sh test.sh` (Unix-like shell prompt)

   The output, which is explained in the next section, ought to resemble the output shown in the following transcript (the spacing has been manually adjusted to make the output easier to read).

    ############################################################
    Validating order-test-bad-syntax.xml
    ############################################################
    ============== Phase 1: XSD schema validation ==============
    org.xml.sax.SAXParseException; systemId: order-test-bad-syntax.xml;
     lineNumber: 50; columnNumber: 25; Element type "cbc:ChannelCodeLA"
     must be followed by either attribute specifications, ">" or "/>".
    	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
    	at javax.xml.parsers.SAXParser.parse(SAXParser.java:274)
    	at com.nwalsh.parsers.XJParser.xsdParse(Unknown Source)
    	at com.nwalsh.parsers.XJParser.parse(Unknown Source)
    	at com.nwalsh.parsers.XJParse.run(Unknown Source)
    	at com.nwalsh.parsers.XJParse.main(Unknown Source)
    Exception in thread "main" java.lang.NullPointerException
    	at com.nwalsh.parsers.XJParser.printParseStats(Unknown Source)
    	at com.nwalsh.parsers.XJParse.run(Unknown Source)
    	at com.nwalsh.parsers.XJParse.main(Unknown Source)
    Attempting well-formed, namespace-aware parse
    Fatal error:order-test-bad-syntax.xml:50:25:Element type
     "cbc:ChannelCodeLA" must be followed by either attribute
     specifications, ">" or "/>".

    ############################################################
    Validating order-test-bad-model.xml
    ############################################################
    ============== Phase 1: XSD schema validation ==============
    Attempting well-formed, namespace-aware parse
    Error:order-test-bad-model.xml:50:23:cvc-complex-type.2.4.a:
     Invalid content was found starting with element 'cbc:ChannelCod'.
     One of '{"urn:oasis:names:specification:ubl:schema:xsd:
     CommonExtensionComponents-2":UBLExtensions,
     "urn:oasis:names:specification:ubl:schema:xsd:
     CommonBasicComponents-2":ChannelCode,
     "urn:oasis:names:specification:ubl:schema:xsd:
     CommonBasicComponents-2":Channel,
     "urn:oasis:names:specification:ubl:schema:
     xsd:CommonBasicComponents-2":Value}' is expected.
    Parse succeeded (0.12) with 1 error and no warnings.

    ############################################################
    Validating order-test-bad-code.xml
    ############################################################
    ============== Phase 1: XSD schema validation ==============
    No schema validation errors.
    ============ Phase 2: XSLT value validation ============
    1. Value supplied 'LA' is unacceptable for constraints identified by
     'Channel-2.0 Channel-2.1 Channel-2.2 Channel-2.3 Channel-2.4' in
     the context 'cbc:ChannelCode' /Order/cac:BuyerCustomerParty[1]/
     cac:Party[1]/cac:Contact[1]/cac:OtherCommunication[1]/
     cbc:ChannelCode[1] / (code list expression suppressed)
    Count of data errors: 1

    The following error report is simply the exit mechanism and can be ignored:
    Error in xsl:message/@terminate on line 134 column 34 of testSVRL4UBLerrors.xsl:
      XTMM9000: Processing terminated by xsl:message at line 134 in
     testSVRL4UBLerrors.xsl
    Processing terminated by xsl:message at line 134 in testSVRL4UBLerrors.xsl

    ############################################################
    Validating order-test-good.xml
    ############################################################
    ============== Phase 1: XSD schema validation ==============
    No schema validation errors.
    ============ Phase 2: XSLT code list validation ============
    No code list validation errors.

From any directory in the file system the invocations in the `val` directory will run two-phase validation on any UBL document against the UBL schemas by executing commands of the form:

`validate.bat` `<ubl-schema> <ubl-document>`
`sh validate.sh` `<ubl-schema> <ubl-document>`

where `<ubl-schema>` is the path of the UBL schema for that document type (Order, Invoice, etc.) and `<ubl-document>` is the path of a document to be validated. For example, the scripts `val/testsamples.bat` and `val/testsamples.sh` show this process being used to validate the sample XML instances in the `xml` directory. The invocation process returns non-zero for an error and zero for no error.

One can run one-pass W3C schema validation without the code list check by executing commands of the form:

`w3cschema.bat` `<ubl-schema> <ubl-document>`
`sh w3cschema.sh` `<ubl-schema> <ubl-document>`

### F.3 Discussion of the Default Validation Test

The test output displayed above demonstrates the default validation process with four test files: a UBL Order containing invalid syntax (`val/order-test-bad-syntax.xml`); a UBL Order containing a bad (misspelled) element (`val/order-test-bad-model.xml`); a UBL Order that is schema-valid but contains an illegal code list value (`val/order-test-bad-code.xml`); and a valid UBL Order (`val/order-test-good.xml`);. The file `val/test.bat` (Windows) or `val/test.sh` (Unix-like) is used to run the script `val/validate.bat` or `val/validate.sh` against each of the test files.

Looking at the last test results first, run using `order-test-good.xml`, this demonstrates both phases of the default validation process running normally. The exit status of the entire test is the exit of the last test which ought to be successful when being tested for error.

In each test’s first phase, a standard W3C Schema (XSD) validator, Xerxes, is invoked from `val/w3cschema.bat` (or `val/w3cschema.sh`) to validate the specified UBL document (`.xml`) against the specified UBL runtime schema (`.xsd`). Since the input is a valid UBL Order, the output of the first phase simply indicates that the file is valid against the given Order schema. Error messages are persisted in the file with the XML name and added extension `.error.txt`. In this test the persistent error files from phase one are `val/order-test-bad-syntax.xml.error.txt` and `val/order-test-bad-model.xml.error.txt`.

The second phase of each test uses a standard XSLT 2.0 engine, Saxon Home Edition, to verify that the values of various codes used in the UBL document to be tested (currency codes, packaging types, etc.) are valid in terms of the default UBL code list values specified in `val/UBL-DefaultDTQ-2.5.xsl`. Here the output line “No code list validation errors” from the `validate` script indicates that the Saxon run (invoked from `val/xslt2.bat` or `val/xslt2.sh`) finds no illegal code values in the document. Second phase error messages in the Schematron Validation Report Language (SVRL) are persisted in the file with the XML name and added extension `.svrl.xml`. This file is massaged by the `val/testSVRL4UBLerrors.xsl` stylesheet in order to suppress lengthy components of the messages (namespace URI strings and code list validation expressions) in the resulting file with the XML name and added extension `.error.txt`. In this test the persistent error files from phase two are `val/order-test-bad-code.xml.svrl.xml` and `val/order-test-bad-code.xml.error.txt`.

The first test of the set shows what happens when the input document (`order-test-bad-syntax.xml`) contains an XML syntax error, in this case due to omission of the trailing “>” from the start tag of the element named `cbc:ChannelCode`. When the Xerxes parser encounters bad syntax, it emits the error message shown in the example, and the `validate` script reacts to a non-zero status code from `w3cschema.bat` (or `w3cschema.sh`) by terminating the validation process.

The second test of the set shows what happens when the input document (`order-test-bad-model.xml`) is syntactically well-formed but contains a structure or vocabulary error, in this case due to omission of the trailing “e” from the element named `cbc:ChannelCode` resulting in the name `cbc:ChannelCod` which is not part of the UBL model. When the Xerxes parser encounters the unrecognized element name, it emits the error message shown in the example, and the `validate` script reacts to a non-zero status code from `w3cschema.bat` (or `w3cschema.sh`) by terminating the validation process.

In the third test of the set, the input document `order-test-bad-code.xml` is syntactically well-formed according to XML, and structurally valid according to the Order schema, but it contains a misspelled code list value (the ChannelCode “AL” for cell phone has been mistyped as “LA”). Thus it passes the first phase when tested against the schema but fails the second phase when tested against `val/UBL-DefaultDTQ-2.5.xsl`.

To summarize, input documents are checked in the first validation phase for correctness of syntax, structure, and vocabulary, using the constraints expressed in the appropriate UBL schema. Then they are checked in the second phase for correctness of default code list values, using the default constraints expressed in the XSLT file `UBL-DefaultDTQ-2.5.xsl`. This process is illustrated in the following diagram.

Figure F.1. Two-phase Default UBL 2.5 Validation

It ought to be clear from the foregoing that the second phase of the default validation process can safely be omitted if it is considered unnecessary to check code list values. However, the reverse is not true; the second phase depends for correct operation on a prior check for structural validity, and therefore it will not give reliable results if run in the absence of the first (schema) validation phase.

### F.4 Customizing the Default XSLT File

The validation framework provided in the `val` directory can be used to implement code list changes, define variant code lists to fit specific trading partner agreements, or associate different versions of the same code list with different parts of the same UBL document by substituting a custom process (be it XSLT or some other language or process) for the default `UBL-DefaultDTQ-2.5.xsl` provided in the UBL 2.5 distribution. This allows extensive code list management without the need to change the standard UBL 2.5 schemas.

The top-level Schematron [SCH] fragment `cva/UBL-DefaultDTQ-2.5.sch` defining the constraints to be expressed in XSLT pulls in two fragments tailored for UBL 2.5:

- `cva/UBL-DefaultDTQ-2.5.pattern.sch` with the code list constraints from `cva/UBL-DefaultDTQ-2.5.cva` , and

- `cva/UBL-DocumentConstraints-2.5.patterns.sch` with the subset of Section 4, “Additional Document Constraints” that can be tested using the technology.

Schematron-based techniques for generating a custom XSLT file to take the place of `UBL-DefaultDTQ-2.5.xsl` are explained in [CVA] and [Customization]. See also Appendix E, Data Type Qualifications in UBL (Non-Normative) for more about UBL data type qualifications.

Since XSLT is a very powerful general-purpose XML transformation tool, the same framework can be extended to perform fairly sophisticated business rule checking by manually coding additional logic into the XSLT file that drives the second validation phase. Such modification is beyond the scope of the customization methodologies associated specifically with UBL, but a business analyst willing to perform XSLT programming can use this mechanism to offload a large proportion of input filtering from the back-end business application to a simpler input processing area. Additional XSLT scripts can be added to extract logical sub-trees of incoming UBL documents for allocation to different downstream processes and to perform even more extensive front-end processing.

### F.5 Sources for the Default Validation Framework

Components of several freely available software distributions were used to create the `val` directory. Sources are given below so that these components can be updated as later releases become available.

- The file `val/xjparse.jar` (renamed from `xjparse-2.0.1.jar`) and the files in the “`val/lib`” directory are from the Xjparse 2.0.1 distribution at

  > `http://xjparse.org`

- The file `val/saxon9he.jar` is from the Saxon 9 Home Edition distribution at

  > `http://saxon.sourceforge.net/`

- The file `val/UBL-DefaultDTQ-2.5.xsl` was created from the file `cva/UBL-DefaultDTQ-2.5.sch` using the Schematron [SCH] implementation of CVA files for validation at

  > `https://cranesoftwrights.github.io/resources/ubl/#cva2sch`

### F.6 Code Lists Included in UBL 2.5

#### F.6.1 Code List Format

The code lists included in the UBL 2.5 distribution use an OASIS Standard XML format for code lists called [genericode]. Each code list in the distribution is expressed as a genericode file. The code lists of UBL 2.0, UBL 2.1, UBL 2.2, UBL 2.3, and UBL 2.5 are incorporated into the default validation framework. Documentation on the UBL code lists is contained in a generated report file:

> `cva/UBL-DefaultDTQ-2.5.html`

The code list files in UBL 2.5 are divided into two subdirectories, `cl/gc/default` and `cl/gc/special-purpose`.

#### F.6.2 `cl/gc/default`

The code lists in the `cl/gc/default` directory contain the default code values represented in `UBL-DefaultDTQ-2.5.xsl`. A second-phase code list check using an unmodified version of the test setup from this distribution as described above will verify all occurrences of code values from these lists against the values specified in the `cl/gc/default` directory. These are the code lists expected to be used in most application contexts, but there is no obligation to use them. The genericode files with corresponding “including deprecated” or “including deleted” files have been culled of deprecated or deleted values in order to be used in typical contexts. The files with entries no longer used are included for completeness.

> `cl/gc/default/AllowanceChargeReasonCode-2.4.gc`
> `cl/gc/default/BinaryObjectMimeCode-2.4.gc`
> `cl/gc/default/BinaryObjectMimeCode-2.4-incl-deprecated.gc`
> `cl/gc/default/ChannelCode-2.4.gc`
> `cl/gc/default/CountryIdentificationCode-2.4.gc`
> `cl/gc/default/CurrencyCode-2.4.gc`
> `cl/gc/default/LanguageCode-2.4.gc`
> `cl/gc/default/PackagingTypeCode-2.4.gc`
> `cl/gc/default/PackagingTypeCode-2.4-incl-deleted.gc`
> `cl/gc/default/PaymentMeansCode-2.4.gc`
> `cl/gc/default/TransportEquipmentTypeCode-2.4.gc`
> `cl/gc/default/TransportModeCode-2.4.gc`
> `cl/gc/default/UnitOfMeasureCode-2.4.gc`
> `cl/gc/default/UnitOfMeasureCode-2.4-incl-deleted.gc`

## Appendix G UBL 2.5 Example Document Instances (Non-Normative)

The `xml` directory of this distribution contains a number of sample UBL documents that can be used for testing purposes. The `testsamples.bat` batch file and the `testsamples.sh` script in the `val` directory of this distribution can be used to demonstrate the validity of these examples in Windows and Unix-like operating environments. See Appendix F, UBL 2.5 Code Lists and Two-phase Validation (Non-Normative) for a general discussion of UBL validation methodology. For convenience, those examples that relate specifically to a particular document type are linked from the description of that type in Section 3.2, “UBL 2.5 Document Schemas”.

> Example instances containing extensions

> > `xml/MyTransportationStatus.xml`
> > `xml/UBL-Invoice-2.0-Enveloped.xml`

> Example instances related to signatures (see Section 6.5, “Digital Signature Examples”)

> > `xml/UBL-Invoice-2.0-Detached-Signature.xml`
> > `xml/UBL-Invoice-2.0-Detached.xml`
> > `xml/UBL-Invoice-2.0-Enveloped.xml`

> Example instances with unconventional use of namespace bindings

> > `xml/UBL-Invoice-2.0-Example-NS1.xml`
> > `xml/UBL-Invoice-2.0-Example-NS2.xml`
> > `xml/UBL-Invoice-2.0-Example-NS3.xml`
> > `xml/UBL-Invoice-2.0-Example-NS4.xml`

> Example instances of different versions of certain document types

> > `xml/UBL-BusinessCard-2.2-Example.xml`
> > `xml/UBL-CommonTransportationReport-2.3-Example.xml`
> > `xml/UBL-CreditNote-2.0-Example.xml`
> > `xml/UBL-CreditNote-2.1-Example.xml`
> > `xml/UBL-DebitNote-2.5-Example.xml`
> > `xml/UBL-DespatchAdvice-2.0-Example.xml`
> > `xml/UBL-DigitalAgreement-2.2-Example.xml`
> > `xml/UBL-DigitalAgreement-2.2-Example-Multilateral.xml`
> > `xml/UBL-DigitalCapability-2.2-Example.xml`
> > `xml/UBL-ExceptionCriteria-2.1-Example.xml`
> > `xml/UBL-ExceptionNotification-2.1-Example.xml`
> > `xml/UBL-ExportCustomsDeclaration-2.3-Example.xml`
> > `xml/UBL-ExpressionOfInterestRequest-2.2-Example.xml`
> > `xml/UBL-Forecast-2.1-Example.xml`
> > `xml/UBL-ForecastRevision-2.1-Example.xml`
> > `xml/UBL-ForwardingInstructions-2.0-Example-International.xml`
> > `xml/UBL-FulfilmentCancellation-2.1-Example.xml`
> > `xml/UBL-GoodsCertificate-2.3-Example.xml`
> > `xml/UBL-GoodsItemItinerary-2.1-Example.xml`
> > `xml/UBL-GoodsItemPassport-2.3-Example-Issued.xml`
> > `xml/UBL-ImportCustomsDeclaration-2.3-Example.xml`
> > `xml/UBL-InstructionForReturns-2.1-Example.xml`
> > `xml/UBL-InventoryReport-2.1-Example.xml`
> > `xml/UBL-Invoice-2.0-Example.xml`
> > `xml/UBL-Invoice-2.1-Example.xml`
> > `xml/UBL-Invoice-2.1-Example-Trivial.xml`
> > `xml/UBL-Manifest-2.3-Example-Reference-Only.xml`
> > `xml/UBL-Manifest-2.3-Example-Shipment.xml`
> > `xml/UBL-Order-2.0-Example.xml`
> > `xml/UBL-Order-2.0-Example-International.xml`
> > `xml/UBL-Order-2.1-Example.xml`
> > `xml/UBL-OrderCancellation-2.1-Example.xml`
> > `xml/UBL-OrderChange-2.1-Example.xml`
> > `xml/UBL-OrderResponse-2.1-Example.xml`
> > `xml/UBL-OrderResponseSimple-2.0-Example.xml`
> > `xml/UBL-OrderResponseSimple-2.1-Example.xml`
> > `xml/UBL-PriorInformationNotice-2.2-Example-Embedded.xml`
> > `xml/UBL-PriorInformationNotice-2.2-Example-External.xml`
> > `xml/UBL-ProductActivity-2.1-Example-1.xml`
> > `xml/UBL-ProductActivity-2.1-Example-2.xml`
> > `xml/UBL-ProductActivity-2.1-Example-3.xml`
> > `xml/UBL-ProofOfReexportation-2.3-Example.xml`
> > `xml/UBL-ProofOfReexportationReminder-2.3-Example.xml`
> > `xml/UBL-ProofOfReexportationRequest-2.3-Example.xml`
> > `xml/UBL-PurchaseReceipt-2.4-Example.xml`
> > `xml/UBL-Quotation-2.0-Example.xml`
> > `xml/UBL-Quotation-2.1-Example.xml`
> > `xml/UBL-ReceiptAdvice-2.0-Example.xml`
> > `xml/UBL-Reminder-2.1-Example.xml`
> > `xml/UBL-RemittanceAdvice-2.0-Example.xml`
> > `xml/UBL-RequestForQuotation-2.0-Example.xml`
> > `xml/UBL-RequestForQuotation-2.1-Example.xml`
> > `xml/UBL-RetailEvent-2.1-Example.xml`
> > `xml/UBL-SelfBilledCreditNote-2.1-Example.xml`
> > `xml/UBL-Statement-2.0-Example.xml`
> > `xml/UBL-StockAvailabilityReport-2.1-Example.xml`
> > `xml/UBL-TradeItemLocationProfile-2.1-Example.xml`
> > `xml/UBL-TransitCustomsDeclaration-2.3-Example.xml`
> > `xml/UBL-TransportationStatus-2.1-Example.xml`
> > `xml/UBL-TransportationStatusRequest-2.1-Example.xml`
> > `xml/UBL-TransportExecutionPlan-2.1-Example.xml`
> > `xml/UBL-TransportExecutionPlanRequest-2.1-Example.xml`
> > `xml/UBL-TransportProgressStatus-2.1-Example.xml`
> > `xml/UBL-TransportProgressStatusRequest-2.1-Example.xml`
> > `xml/UBL-TransportServiceDescription-2.1-Example.xml`
> > `xml/UBL-TransportServiceDescriptionRequest-2.1-Example.xml`
> > `xml/UBL-Waybill-2.0-Example-International.xml`
> > `xml/UBL-WeightStatement-2.2-Example.xml`

## Appendix H Alternative Representations of the UBL 2.5 Schemas (Non-Normative)

UBL 2.5 continues the practice, adopted at the beginning of the UBL effort, of creating its normative XML specifications using W3C Schema (XSD) syntax. Alternative representations of the same content are technically non-normative, but can be generated directly from the XSD and, with the exception of the UBL 2.5 digital signature extension (see Section 6.4, “UBL Extension for Enveloped XML Digital Signatures”), are intended to implement the same document instance constraints. The ASN.1 schemas of prior releases of the UBL models are an example of the result of such an XSD schema transformation.

Regarding creating RELAX-NG [RELAX NG] expressions of the UBL document models, the free Trang tool found at https://github.com/relaxng/jing-trang is suitable for converting the UBL W3C Schema expressions into such expressions.

It is also possible to create an alternative representation directly from the CCTS model of UBL. The JSON schemas of prior releases of the UBL models are an example of the result of such a CCTS transformation.

Please see the https://docs.oasis-open.org/ubl web site for available or anticipated alternative representations of UBL 2.5 models in ASN.1, JSON, and possibly other technologies.

## Appendix I The Open-edi reference model perspective of UBL (Non-Normative)

ISO/IEC 14662:2010 Information technology - Open-edi reference model [Open-edi] has been developed primarily in order to provide standards required for the inter-working of organizations through interconnected information technology systems. Open-edi lowers barriers to electronic data interchange by introducing standard business scenarios and the necessary services to support them.

The Open-edi Reference Model identifies the required standards for Open-edi and provides a reference for those standards by defining the basic concepts used to develop them.

Figure I.1, “Open-edi Overview” depicts two views to describe the relevant aspects of business transactions:

- the Business Operational View (BOV);

- the Functional Service View (FSV).

Figure I.1. Open-edi Overview

The BOV addresses the aspects of the semantics of business data in business transactions and associated data interchanges which apply to the business needs of Open-edi. The BOV-related standards are tools and rules by which users who understand the operating aspects of a business domain may create scenarios.

The FSV addresses the supporting services meeting the mechanistic needs of Open-edi, focusing on information technology aspects of functional capabilities, service interfaces, and protocols.

Using the concepts of Open-edi, UBL provides a generic Open-edi Configuration that an Open-edi Community may customize with their own requirements to implement their own Open-edi Configuration.

ISO/IEC 15944-20 Information technology - Business operational view - Linking business operational view to functional service view [BOV-FSV] presents the relationships linking the BOV with the FSV.

Figure I.2, “Open-edi Application” illustrates how the two normative deliverables of UBL, the semantic components and the XML schemas, align respectively with the BOV and FSV views of the Open-edi Reference Model.

Figure I.2. Open-edi Application

Section 2, “UBL 2.5 Business Objects” provides the configuration’s BOV with a suite of normative business objects and associated semantics from which the community selects the semantic components needed in an information bundle. An information bundle describes the semantics of the recorded information to be exchanged between Open-edi Support Infrastructures servicing Decision Making Applications. The community’s configuration combines these information bundles with their identified scenarios and roles.

Section 3, “UBL 2.5 Schemas” and Section 4, “Additional Document Constraints” provides the configuration’s FSV with a set of corresponding normative XML schemas and document instance rules constraining the expression of the business objects in user data. One translates the semantic component values into a transfer syntax from the information bundle specification as a set of recorded information. It is the UBL XML syntax for the sets of recorded information defined by the information bundles that is exchanged between Parties.

Section 6, “UBL Digital Signatures” provides the configuration’s FSV with a normative schema fragment suitable for including profiles of digital signatures in user data.

The other aspects of the implemented BOV and implemented FSV of the community’s Open-edi Configuration are governed by influences outside of the scope of UBL. Those aspects guide the community in customizing UBL to suit their requirements, as outlined in Section B.4, “UBL Customization”.

## Appendix J Acknowledgements (Non-Normative)

The OASIS UBL Technical Committee thanks Réalta Online Publishing Solutions for support in generating PDF and HTML documents from DocBook originals; and Crane Softwrights for the generation of the summary reports.

The following persons and companies participated as members of the OASIS UBL Technical Committee during the years of its development (2024–2025).

Todd Albers, Federal Reserve Bank of Minneapolis
Paloma Arillo Aranda, Publications Office of the European Union
Craig Atkinson, Individual
Dinesh Balasubramanian, IBM
Oriol Bausa Peris, Individual
Kenneth Bengtsson, Individual
Erlend Klakegg Bergheim, Individual
Peter Borresen, ebConnect
Jon Bosak, Individual
Andrea Caccia, Individual
Ger Clancy, IBM
Michael Coletta, Individual
Paul Donohoe, Publications Office of the European Union
Kees Duvekot, SiPiCo
Pim van der Eijk, Sonnenglanz Consulting
Sander Fieten, Individual
Martin Forsberg, Swedish Association of Local Authorities & Regions
Michael Grimley, US Department of Defense (DoD)
Philip Helger, Individual
Ken Holman, Crane Softwrights Ltd.
Yves Jordan, Publications Office of the European Union
Wim Kok, Logius
Prasad Kona, IBM
Ole Madsen, Danish Business Authority
Marc Malone, IBM
Natalie Muric, Publications Office of the European Union
Levine Naidoo, IBM
Amit Saini, IBM
Svante Schubert, Individual
Dragos Stoica, Publications Office of the European Union

## Appendix K Notices

Copyright © OASIS Open 2001-2025. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the “OASIS IPR Policy”). The full Policy may be found at the OASIS website: [https://www.oasis-open.org/policies-guidelines/ipr/].

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an “AS IS” basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. OASIS AND ITS MEMBERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THIS DOCUMENT OR ANY PART THEREOF.

As stated in the OASIS IPR Policy, the following three paragraphs in brackets apply to OASIS Standards Final Deliverable documents (Committee Specifications, OASIS Standards, or Approved Errata).

[OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Standards Final Deliverable, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this deliverable.]

[OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this OASIS Standards Final Deliverable by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this OASIS Standards Final Deliverable. OASIS may include such claims on its website, but disclaims any obligation to do so.]

[OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this OASIS Standards Final Deliverable or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS’ procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Standards Final Deliverable, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.]

The name “OASIS” is a trademark of OASIS, the owner and developer of this document, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, documents, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark/ for above guidance.

UBL-2.5 Standards Track Work Product | Copyright © OASIS Open 2025. All rights reserved. | 03 December 2025