Web services have effectively established a cross-platform solution around the classical "handshake" in client/server architectures, but the actual payload exchanged between parties can have very distinct formats depending on the nature of an application. In an attempt to standardize such payload formats many XML vocabularies or markup languages have been created, join us for a closer look at one of these initiatives named XBRL (eXtensible Business Reporting Language) .
XBRL's primary focus is on the financial community's needs to prepare, analyze and communicate business information. As is known to even those outside finance circles, a company's books often need to be expressed in numerous forms to satisfy not only local, state and federal authorities, but occasionally report on internal metrics perhaps only critical to senior management. It's definitely financial arcana, but when placed under an IT lens it's something that begets structure and it is precisely what XBRL offers.
Developed by a consortium of approximately 450 companies, XBRL's work spans over 15 national jurisdictions to accommodate each zone's financial reporting and local accounting regulations. In order to support such a diverse user base, XBRL relies on the use of XML taxonomies -- individual technical contracts -- designed around widely accepted financial standards such as GAAP (Generally Accepted Accounting Principles), as well as more esoteric standards applicable to certain countries or industries. Each of these taxonomies in itself is based on XML, so lets take a look at a few snippets so you can get a feel for what it is an XBRL taxonomy tries to accomplish:
Listing 1.1 XBRL instance document
<xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:s="http://mycompany.com/xbrl/taxonomy" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"> <s:analysis> <s:customer> <s:name contextRef="np3">Acme</s:name> <s:gross unitRef="u3" contextRef="np3" precision="4">3001</s:gross> <s:returns unitRef="u3" contextRef="np3" precision="3">100</s:returns> <s:net unitRef="u3" contextRef="np3" precision="4">2900</s:net> </s:customer> <s:totalGross unitRef="u3" contextRef="np3" precision="3">12000</s:totalGross> </s:analysis> <context id="np3"> <entity> <identifier scheme="https://www.nasdaq.com">SAMP</identifier> </entity> <period> <startDate>2006-01-01</startDate> <endDate>2006-12-31</endDate> </period> </context> <unit id="np3"> <measure>ISO4217:USD</measure> </unit> </xbrl>
[End Listing 1.1]
This last document expresses top level financial data for a corporation spanning the year 2006 and expressed in U.S dollars. While obviously a very brief example, beside these top level elements, XBRL also has support for expressing many different types of assets, liabilities, as well as various other terms that are common nature to the financial industry.
The takeaway point for structuring and archiving financial data in such a format -- like everything else XML -- is that the same information can be consumed by many third party applications using an agreed-upon syntax, something which eases generating different views or snapshots in environments ranging from browsers, Office type documents and other consuming Web services, the latter of which can be used to fulfill automated business processes.
Tools for processing XBRL can be classified into three groups: those for creating taxonomies, others for validating such taxonomies and a final group for creating document instances out of taxonomies. Offerings in each group are numerous, as is the case with most software. Features, vendors and price tags are also all over the map, the following page contains a comprehensive list of such XBRL Tools .
In terms of wide scale adoption, the biggest approval nod XBRL has received so far has come from the U.S Securities and Exchange Commission (SEC), a government branch which oversees the financial undertakings in public companies operating in U.S. markets. The sheer involvement of the SEC makes XBRL a strong contender for large IT departments, given the strong link between the SEC and the corporate world. You can find more details on XBRL and the SEC at SEC - XBRL Initiatives .
Like many other XML markups -- such as UBL which we covered in an earlier column -- XBRL moves beyond the communications Web.