This is the second in a series of articles by Jon Bosak, a member of the Tradeshift Technical Advisory Board, reviewing the newly published International Standard ISO/IEC 19845, also known as the Universal Business Language (UBL). UBL is the standard data format used by Tradeshift.
In the first article, which presented an overview of UBL’s history and current use, I used the word “comprehensive,” but that word hardly does justice to the immensity of the UBL 2.1 package, as you will see if you download and install it from the OASIS document repository:
The readable part of the standard can be found in the file UBL-2.1.pdf. (UBL-2.1.html works just as well but isn’t as pretty or as easy to print. Note that in either case you must have the entire package installed for all the hyperlinks to work.)
For many users, the part of the package that will initially be most interesting is the XML schema for Invoice, and that makes a good example. You will find Invoice listed toward the bottom of page 6; click on that line and you will be taken to the entry for the Invoice schema. From this condensed table you can access a description of the Billing process in which Invoice is used; two W3C Schema representations of the Invoice document, one loaded with verbose comments and another “run-time” version with the comments stripped out; an alternative RELAX NG schema for the Invoice document; a spreadsheet showing the Invoice document model in a human-readable spreadsheet format, in both ODF and Excel versions; a UML view of the Invoice document model; a summary report with links to all the components from which the model is assembled; and two examples of an actual Invoice, one for UBL 2.0 and another that includes new elements added in UBL 2.1. (All valid UBL 2.0 documents are also valid UBL 2.1 documents and can be considered subsets of UBL 2.1 documents.)
From a glance at the Table of Contents you started from, it’s obvious that Invoice, important as it is, is just one small piece of UBL. In fact, there are 64 other document types defined by the standard. Here is a list of them all, broken down by category:
Core business process: Order, Order Response, Order Response Simple, Order Change, Order Cancellation, Despatch Advice, Receipt Advice, Invoice
Sourcing: Catalogue, Catalogue Deletion, Catalogue Item Specification Update, Catalogue Pricing Update, Catalogue Request, Quotation, Request for Quotation
Fulfilment: Bill of Lading, Certificate of Origin, Forwarding Instructions, Packing List, Transportation Status, Waybill
Billing: Credit Note, Debit Note, Freight Invoice, Reminder, Self Billed Credit Note, Self Billed Invoice
Payment: Remittance Advice, Statement
Tendering: Awarded Notification, Call for Tenders, Contract Award Notice, Contract Notice, Guarantee Certificate, Tender, Tender Receipt, Tenderer Qualification, Tenderer Qualification Response, Unawarded Notification
Collaborative planning, forecasting, and replenishment: Exception Criteria, Exception Notification, Forecast, Forecast Revision, Item Information Request, Prior Information Notice, Trade Item Location Profile
Vendor managed inventory: Instruction for Returns, Inventory Report, Product Activity, Retail Event, Stock Availability Report
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
Utility billing: Utility Statement
Supplementary document types: Application Response, Attached Document, Document Status, Document Status Request
This is a fearsome array of material indeed, and far bigger than anything I can cover in detail here. Probably the best way to begin to gain an understanding of the scope of UBL is to start with the diagram on the first page of Chapter 2 (page 15) and then read through the overview of UBL business processes that begins on page 22. Your area of concern is unlikely to include all or even most of the document types shown in these processes — in fact, many users will be satisfied with exchanging just one document type, such as Invoice — but this exercise should at least make it clear that every UBL document type can participate in a very broad range of real-world transactions in both public and private sectors and that no UBL document type has been defined in isolation from a much larger possible business context.
The UBL standard assumes that its readers are already familiar with XML, and for many purposes, such readers need understand only what is specified in the XML schemas for the relevant document types as demonstrated in the associated XML document examples. But UBL is designed to allow a maximum of customization within the standard framework, and this will require a deeper knowledge of the way UBL is put together, including a grasp of the methodology by which its data models have been defined and an understanding of the ways in which features such as digital signatures and code lists are implemented.
Explanations of digital signature implementation are presented in Chapters 5 and 6 of the standard, and a large body of explanatory (“non-normative”) material, including an explanation of code list verification, will be found in the appendixes, beginning on page 136. Experts wishing to acquire an in-depth understanding of the semantic modeling on which UBL is based, including terms such as “BBIE”, “ABIE”, and “ASBIE” (inherited from a related ebXML standard), will need to master the material presented in Appendix C, but most users will find this unnecessary.
Enough of the details; people who want to dig deeper will find plenty to work through in the standard itself. I hope that this brief overview has at least given you a sense of where to start looking. In the next installment in this series, I will discuss some key design features of the new standard.