XBRL Introduction
第一講 XBRL的技術概述
XBRL的基本技術來源 于XML,所以要理解XBRL技術,必須 先了解XML技術。本講內容不再對相關的XML技術作介紹。在這里主要介紹關于XBRL技術的三個主要部分:技術規(guī)格(Specifications)、分類標準(Taxonomy)、實例文檔(Instance Documents)
1、技術規(guī)格(Specifications)、分類標準(Taxonomy)、實例文檔(Instance Documents)
XBRL制作財務報表關鍵取決于技術規(guī)格的標準,最新的標準是由XBRL 國際組織不久前制定的XBRL Specification2.1版。
Xml對數據的處理通常是通過Xml Schema等技術將數據附上不同的標簽,在老的XBRL技術規(guī)格中曾經使用過DTD,目前的2.0和2.1版中都主要使用Xml Schema。
利用DTD或者Xml Schema,將財務報表中的每一個財務數據附上不同的標簽,這些標簽 總稱為分類標準(Taxonomy)。同時,分類標準還定義了數據的形式和屬性。另外,XBRL2.0以上標準中還使用了XLink,以實現(xiàn)內容與附注之間的關聯(lián),或者內容與表達形式之間的關聯(lián)。
如果一家公司想要用XBRL公開自己的財務報表,就可以使用分類標準預先 規(guī)定好的標簽,將自己公司的財務數據放在相應的標簽里,這些內容就組成了實例文檔。這些看似復雜的內容再經由XSLT和CSS轉換,就可以在瀏覽器中得到通常的財務報表。
XBRL的實用與普及過程中,必須要建立不同國家,不同行業(yè)的分類標準,目前 與這些相關分類技術和實例文檔相關的編輯工具,和會計軟件等越來越多地被開發(fā)使用。在這方面起主導作用的是XBRL國際組織以及各國的XBRL組織。
也就是說,XBRL技術 標準主要是由兩者在協(xié)同推進,XBRL國際組織主要負責 全球統(tǒng)一標準的制定,各國的XBRL組織則主要負責建立符合本國會計準則的XBRL分類標準。
2、XBRL分類標準
通過以上介紹,我們知道XBRL技術的關鍵是建立符合各 國會計準則的分類標準,XBRL國際組織目前 已經制定了符合IAS的相關分類標準。具體到各國的XBRL分類標準,根據各國目前的XBRL進展情況 而有所不同,但基本上主要的XBRL會員國都已經按照xbrl 2.0版本 完成了符合自己國家會計準則的分類標準。下面以日本為例,簡單介紹一下分類表。
日本從2004年開始全面啟用電子保稅系統(tǒng),并采用XBRL作為技術基礎,這里介紹的分類標準就是XBRL JAPAN制定的有關稅務申報財務報表的分類標準。
XBRL Taxonomy ―― 日本國稅廳稅務申報財務報表分類標準文檔
(注:行號是為便于說明而附加的)
< ?xml version=”1.0”encoding=”UTF-8”?>
< ! –edited with XBRL.Taxonomy Editor0.94bà
-<Schema targetNamespace=http://www.xbrl-jp.org/taxonomy/jp/fr/ta/bs/2003-07-03
xmlns:xhtml=”http://www.w3.org/1999/xhtml” xhtml:link=http://www.wbrl.org/2001/XLink/xbrllinkbbase
xmlns:xlink=http://www.w3.org/1999/xlink xhtml:link=”http://www.wbrl.org/2001/instance”
xmlns=http://www.w3.org/2001/XMLSchema xmlns:jp-ta-bs=http://www.xbrl-jp.org/taxonomy/jp/fr/ta/bs/2003-07-03
xmlns:jp-bs=http://www.xbrl-jp.org/taxonomy/jp/fr/common/bs/2003-07-03element Form Default=”qualified”>
-<annontation>
-<appinfo>
<link:linkbase Ref xlink:type=”simple”
xlink:acrole=”http://www.w3.org/1999/xlink/properties/linkbase
Xlink;actuate=”on Request”xlink:role=http://www.xbrl.org/linkprops/link Ref/definition
Xlink:href=”jp-ta-bs-2003-07-03_defination.xml”> Links for definition relationship
</link:link base Ref>
<link:linkbase Ref xlink:type=”simple”
xlink:acrole=”http://www.w3.org/1999/xlink/properties/linkbase
Xlink;actuate=”on Request”xlink:role=http://www.xbrl.org/linkprops/link Ref/calculation
Xlink:href=”jp-ta-bs-2003-07-03_calculation.xml”> Links for calculation relationship
</link:link base Ref>
<link:linkbase Ref xlink:type=”simple”
xlink:acrole=”http://www.w3.org/1999/xlink/properties/linkbase
Xlink;actuate=”on Request”xlink:role=http://www.xbrl.org/linkprops/link Ref/presentation
Xlink:href=”jp-ta-bs-2003-07-03_presentation.xml”> Links for presentation relationship
</link:link base Ref>
<link:linkbase Ref xlink:type=”simple”
xlink:acrole=”http://www.w3.org/1999/xlink/properties/linkbase
Xlink;actuate=”on Request”xlink:role=http://www.xbrl.org/linkprops/link Ref/label
Xlink:href=”jp-ta-bs-2003-07-03_label.xml”> Links for label relationship
</link:link base Ref>
</appinfo>
</annotation>
<import namespace=http://www.xbrl.org/2001/instance” schema location=”xbrl-instance.xsd”/>
<import namespace=http://www.xbrl-jp.org/taxonomy/jp/fr/common/bs/2003-07-03”
schema location=”jp-bs-2003-07.xsd”/>
<element name=”Cash hand” type=”xbrli:monetary Item Type” substitution Group=”xbrli:item”id=”Cash Hand”/>
……
</schema>
說明:
第1句 XML定義
第3句 對象名字空間制定
第4句 注釋
第5句 應用程序信息
第6句 Definition Link 項目從屬關系定義鏈接
第7句 Calculation Link 項目數值計算定義鏈接
第8句 Presentation Link 項目表示順序關系定義鏈接
第9句 Label Link 項目名稱定義鏈接
第12-13句 導入外部技術規(guī)格
第14句開始 從現(xiàn)金開始定義資產負債表各項目的標簽和屬性
這樣就構成了一個日本納稅申報財務報表的分類標準,除此之外,目前,XBRL JAPAN已經制定了上市公司財務報表分類標準,年度結算分類標準。
3、XBRL的應用實例(Microsoft的XBRL財務報表)
分類標準定義好之后,各個企業(yè)就可以據此將本企業(yè)的財務數據XBRL化。微軟公司是最早開始使用XBRL分類標準披露自己的財務報表的公司,我們現(xiàn)在可以從該公司的網站上找到相關的財務報表。以下是從微軟公司主頁上下載的部分XBRL財務報表源文件內容。
(該文件下載頁:
http://www.microsoft.com/msft/ar03/downloads/10k2003q4msftxbrl.xml)
<?xml version="1.0" encoding="utf-8" ?>
… …
<groupxsi:schemaLocation="http://www.xbrl.org/2001/instance/xbrl-instance.xsd http://www.xbrl.org/taxonomy/us/br/common/gc/2003-07-07 usfr-gc-2003-07-07.xsd
http://www.xbrl.org/taxonomy/us/fr/common/pt/2003-07-07 usfr-pt-2003-07-07.xsd
http://www.microsoft.com/msft/xbrl/taxonomy/fy03 MSFT_2002_11_07.xsd
http://www.xbrl.org/taxonomy/int/br/common/gcd/2002-10-15 int-gcd-2002-10-15.xsd
http://www.xbrl.org/taxonomy/us/fr/rpt/seccert/2003-07-07 usfr-sec-cert-2003-07-07.xsd
http://www.xbrl.org/taxonomy/us/fr/gaap/ci/2003-07-07 us-gaap-ci-2003-07-07.xsd"
xmlns:msft="http://www.microsoft.com/msft/xbrl/taxonomy/fy03" xmlns="http://www.xbrl.org/2001/instance"
xmlns:link="http://www.xbrl.org/2001/XLink/xbrllinkbase" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:usfr-gc="http://www.xbrl.org/taxonomy/us/br/common/gc/2003-07-07" xmlns:usfr-pt="http://www.xbrl.org/taxonomy/us/fr/common/pt/2003-07-07" xmlns:int-gcd="http://www.xbrl.org/taxonomy/int/br/common/gcd/2002-10-15" xmlns:usfr-sec-cert="http://www.xbrl.org/taxonomy/us/fr/rpt/seccert/2003-07-07" xmlns:us-gaap-ci="http://www.xbrl.org/taxonomy/us/fr/gaap/ci/2003-07-07" xmlns:xbrli="http://www.xbrl.org/"
xmlns:xbrl="http://www.xbrl.org/2001/instance" xmlns:ISO4217="http://www.ISO.ORG">
<nonNumericContext id="MSFTInfo">
<entity>
<identifier scheme="http://www.sec.gov/CIK">0000789019</identifier>
</entity>
<period>
<instant>2003-06-30</instant>
</period>
… …
<usfr-gc:Assets numericContext="AsOf20030630">79571000000</usfr-gc:Assets>
<usfr-gc:Assets numericContext="AsOf20020630">67646000000</usfr-gc:Assets>
… …
</group>
簡單分析該文件,我們可以發(fā)現(xiàn)它和分類標準類似,只是附加上了微軟公司的相關信息,比如報表結算日期,公司的詳細情況,財務報表的各項實際金額。利用XBRL制作的財務報表可以不需要通過手動的轉換自動地在各種平臺和軟件上進行處理。
4、XBRL的應用領域
目前XBRL主要應用在兩個領域,即公司的外部報表和內部報表,在XBRL國際組織制定的XBRL體系中,它們分別被稱為XBRL FR(財務報告)和XBRL GL(財務記帳)兩部分,分別制定有不同的分類標準。當然,XBRL的用途不僅僅在財務報表的披露及信息的記錄上,還可以應用于企業(yè)的財務分析等領域。有關的技術和應用我們將在今后的內容中不斷地向大家介紹。
參考網站:
1. XBRL International 網站 www.xbrl.org
2. XBRL JAPAN 網站 www.xbrl-jp.org
3. 微軟IR網站 www.microsoft.com/msft/default.mspx
第二講 如何解讀Taxonomy
一、Taxonomy的本質
在第一講中,我們已經知道XBRL基于XML技術,所以理解XBRL必須要先理解XML。本講座先從XBRL技術談起,等大家對XBRL技術特別是它的Taxonomy有了初步的認識之后,我們再來仔細談談XBRL所依賴的XML技術。
翻開字典,Taxonomy的解釋通常是“分類法、分類學”,或者是“詞匯、詞典”的意思。在XBRL中,Taxonomy主要是用來定義制作財務報表時所需用到的各項報表元素,在這個意義上,我們可以把它理解成“詞典”;同時,它所定義的這些要素相互間存在著數據層次構造,每一要素都是依據不同的層次標準進行分類的,所以Taxonomy也具有“分類法”的含義。
我們先來看下面這些財務數據:
表2-1 財務數據A
固定資產累計折舊 456,156
固定資產 637,784
無形固定資產 999,318
長期投資 5,485,816
Earned Surplus 6,695,864
非流動資產 7,122,919
Capital Stock 7,257,059
長期負債 7,694,248
未分配利潤 11,564,916
其他流動資產 12,927,756
流動負債 20,287,764
所以者權益合計 25,517,839
負債合計 27,982,012
Cash and Deposits 33,449,175
流動資產 46,376,931
Assets 53,499,851
負債與所有者權益合計 53,499,851
這張財務數據表,我們可以看懂什么呢?會計專家也許能理解這些數據,并講這些雜亂的財務數據迅速地編制成下面的資產負債表,可是外行人除了可以知道數據按照大小順序排列之外,對于各個財務要素之間的聯(lián)系,就不可能理解了。計算機也和外行人一樣。
表2 資產負債表 B
項目 金額 項目 金額
―――――――――――――――――――――――――――――――――――
流動資產 46,376,931 流動負債 20,287,764
貨幣資金 33,449,175 長期負債 7,694,248
其他流動資產 12,927,756 負債合計 27,982,012
非流動資產 7,122,919 股本 7,257,059
固定資產 637,784 資本公積 6,695,864
無形資產 999,318 未分配利潤 11,564,916
長期投資 5,485,816 所有者權益合計 25,517,839
資產合計 53,499,851 負債和所有者權益合計53,499,851
--------------------------------------------------------------------------------------------------------
#注:固定資產累計折舊 456,156
根據資產負債表的基本等式“資產=負債+所有者權益”,會計人員可以很輕松地將表1中的各要素重新編排,同時還可以將英文項目名稱轉換成合適的中文項目名稱。另外,對于固定資產累計折舊這項也可以在附注中加以備注。
如何讓計算機來完成這些工作呢?
那就必須把財務數據做成可以讓計算機讀懂的數據形式,這就是XBRL Taxonomy的作用。
Taxonomy首先要定義財務報表中將要使用的各項財務報表元素,也就是制作財務數據的“詞典”。同時還要附加上相關的其他信息,比如各個元素之間的關聯(lián)性,以及各元素在報表中的名稱,位置,還要反映制作財務報表所依據的不同會計準則。
計算機根據這個制定好的Taxonomy才能理解財務數據的含義,根據用戶的要求顯示財務數據,或者根據用戶的要求收集相關的財務數據。
所以,Taxonomy的本質不僅僅是關于財務報表的詞匯和分類法,它還包含了相關的會計理論和會計實踐。
二、Taxonomy的組成
Taxonomy由多個文件組成。主要文件包括一個Taxonomy Schema(.xsd文件),和計算、定義、標簽、表示、參考這五個Linkbae文件。
1、 Taxonomy文件組的命名規(guī)則
一個基本的資產負債表的Taxonomy可以用這些文件所構成的文件組表示。
Taxonomy Schema cn-bs-2003-12-31.xsd
計算Linkbase cn-bs-2003-12-31_caluculation.xml
定義Linkbase cn-bs-2003-12-31_definition.xml
標簽Linkbase cn-bs-2003-12-31_label.xml
表示Linkbase cn-bs-2003-12-31_presentation.xml
參考Linkbase cn-bs-2003-12-31_reference.xml
文件中的2003-12-31是指假設按照2003年12月31日的財務報表編制準則來制定的taxonomy。
每一個Taxonomy的文件名稱都經常使用特定含義的文稱空間(namespace)前綴,除了通過日期來表示編制依據的會計準則版本外,還可以表示各種不同用途的Taxonomy。例如,今后我們可以將不同的Taxonomy定義成以下不同的名稱空間前綴。
表3 我國將來可制定的Taxonomy種類和對應的名稱空間前綴
通用企業(yè)財務報告 cn-gcd
基本財務報表 資產負債表 cn-bs
利潤表 cn-pl
現(xiàn)金流量表 cn-cf
利潤分配表 cn-sr
合并資產負債表 cn-cbs
合并利潤表 cn-cpl
合并現(xiàn)金流量表 cn-ccf
合并利潤分配表 cn-csr
用途分類 股份公司財務報表 cn-sa
中期財務報表 cn-sh
納稅財務報表 cn-ta
行業(yè)分類 一般企業(yè) cn-XX-ci
建筑業(yè) cn-XX-cn
金融業(yè) cn-XX-fi
物流業(yè) cn-XX-tr
醫(yī)院(等) cn-XX-hs
審計報告 cn-ar
個別企業(yè) sh600000 (*1)
sz900000 (*2)
*1、*2分別代表在上交所和深交所上市的公司。
由此可見,Taxonomy不是指一個文件,而是指由一組文件構成的文件組。
三、Taxonomy的數據模型
Taxonomy體系的復雜性來源現(xiàn)實世界會計準則和會計實務的復雜性。比如,“有價證券”這個財務數據元素,按照會計準則可以分成不同類型,同時,各個國家的會計準則對此項目的分類也不一樣。所以考慮到各國的會計準則的不同,Taxonomy的制定必須基于一定的數據模型,以免產生數據構造上的前后矛盾。
XBRL技術標準的數據開發(fā)模型是基于數學圖論的理論(注)。通過數學圖形將不同的要素(vertex或node)和表示要素間的相互作用的線(arc或edge)模型化,在此基礎上完成XBRL技術標準。關于這一數據模型,我們暫時只介紹到這里。
三、一個簡單的Taxonomy Schema文件
某公司的財務報告文件taxonomy,文件名為cn-bs-2003-12-31.xsd,(你可以將本文件用XML的編輯器保存為該名,并試著在瀏覽器中打開)。
<?xml version="1.0" encoding="UTF-8" ?>
<!-- edited with XBRL Taxonomy Editor -->
<schema targetNamespace="http://www.xbrl-cn.org/taxonomy/cn/gcd/2003-12-31" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:link="http://www.xbrl.org/2001/XLink/xbrllinkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2001/instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:cn-gcd="http://www.xbrl-cn.org/taxonomy/cn/gcd/2003-12-31" elementFormDefault="qualified">
<annotation>
<appinfo>
<link:linkbaseRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:actuate="onRequest" xlink:role="http://www.xbrl.org/linkprops/linkRef/definition" xlink:href="cn-gcd-2003-12-31_definition.xml">Links for definition relationship</link:linkbaseRef>
<link:linkbaseRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:actuate="onRequest" xlink:role="http://www.xbrl.org/linkprops/linkRef/presentation" xlink:href="cn-gcd-2003-12-31_presentation.xml">Links for presentation relationship</link:linkbaseRef>
<link:linkbaseRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:actuate="onRequest" xlink:role="http://www.xbrl.org/linkprops/linkRef/label" xlink:href="cn-gcd-2003-12-31_label.xml">Links for label relationship</link:linkbaseRef>
</appinfo>
</annotation>
<import namespace="http://www.xbrl.org/2001/instance" schemaLocation="xbrl-instance.xsd" />
<element name="EntityInformation" abstract="true" id="cn-gcd_EntityInformation" />
<element name="EntityName" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityName">
<annotation>
<documentation xml:lang="en">Legal Entity Name</documentation>
<documentation xml:lang="cn">公司正式名稱</documentation>
</annotation>
</element>
<element name="EntityAddress" substitutionGroup="xbrli:tuple" id="cn-gcd_EntityAddress" />
<element name="EntityZipCode" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityZipCode">
<annotation>
<documentation xml:lang="cn">XXX-XXXX公司編號</documentation>
</annotation>
</element>
<element name="EntityPrefecture" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityPrefecture">
<annotation>
<documentation xml:lang="en">Prefecture</documentation>
<documentation xml:lang="cn">省名</documentation>
</annotation>
</element>
<element name="EntityStreetAddress1" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityStreetAddress1">
<annotation>
<documentation xml:lang="en">City, Town, Village</documentation>
<documentation xml:lang="cn">城市名</documentation>
</annotation>
</element>
<element name="EntityStreetAddress2" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityStreetAddress2">
<annotation>
<documentation xml:lang="en">Lot Number</documentation>
<documentation xml:lang="cn">詳細地址</documentation>
</annotation>
</element>
<element name="EntityBuildingName" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityBuildingName">
<annotation>
<documentation xml:lang="en">e.g. XXX Bldg 5F</documentation>
<documentation xml:lang="cn">例如 大樓名稱樓層</documentation>
</annotation>
</element>
<element name="EntityURL" type="xbrli:uriItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityURL">
<annotation>
<documentation xml:lang="en">e.g. http://xxx.co.cn</documentation>
<documentation xml:lang="cn">例如 http://xxx.co.cn</documentation>
</annotation>
</element>
<element name="EntityLogoFileName" type="xbrli:uriItemType" substitutionGroup="xbrli:item" id="cn-gcd_EntityLogoFileName">
<annotation>
<documentation xml:lang="en">e.g. xxxx.gif</documentation>
<documentation xml:lang="cn">例如 xxxx.gif</documentation>
</annotation>
</element>
<element name="EntityRepresentativeDirector" substitutionGroup="xbrli:tuple" id="cn-gcd_EntityRepresentativeDirector" />
<element name="DirectorTitle" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_DirectorTitle">
<annotation>
<documentation xml:lang="en">e.g. CEO</documentation>
<documentation xml:lang="cn">例如 執(zhí)行董事</documentation>
</annotation>
</element>
<element name="DirectorName" type="xbrli:stringItemType" substitutionGroup="xbrli:item" id="cn-gcd_DirectorName">
<annotation>
<documentation xml:lang="en">e.g. John Smith</documentation>
<documentation xml:lang="cn">姓名</documentation>
</annotation>
</element>
</schema>
1、閱讀工具
Taxonomy和其他XML文件一樣都可以在Internet Explorer6或者Netscape7.1中打開,同時也可以在所有的文本編輯器中進行編輯修改。
2、Taxonomy文件頭和名稱空間的定義部分
第一行按照XML的要求,對XML進行定義,以及編碼的定義。
<Schema ……>這一行是對Schema元素的定義,首先是對taxonomy各元素的target namespace屬性進行定義,接著對這些元素和屬性的名稱空間前綴定義xmlns屬性,經過這些定義之后,只要使用xhtml,link,xlink,xbrli,cn-bs這些前綴略詞,就可以表示對應的名稱空間的元素和屬性。
3、Linkbase部分
<annotation>元素中主要定義了<appinfo>元素,這個元素包含了相關應用程序的信息。appinfo元素中更主要的是定義了鏈接元素,即link:linkbaseRef,其屬性分別定義了各Linkbase的作用和鏈接的文件。除了type屬性外,還包括了arcrole屬性、actuate屬性、role屬性、href屬性等等,關于各屬性的具體含義暫且略過。
4、各元素的定義部分
資產負債表中的各個元素都要一次定義“名稱(name)”和“數據類型(type)”。Taxonomy主要使用的數據類型有3種,表示日期的xbrli:dateTimeItemType、表示字符串的xbrli:stringItemType、表示金額的xbrli:moneytaryItemType,此外還有decimalItemType、shareItemType、uriItemType等等,這些我們將在今后的講座中詳細介紹。
原則上,所有的元素都應該包括在xbrli:item或者xbrli:tuple這兩個可替代組(substitutionGroup)中,換句話說,這兩個組中所沒有的元素原則上都不能寫進實例文檔(Instance Docments)。
以上我們只是簡單地介紹了關于Taxonomy的基本知識,正如我們在這講中提到的,Taxonomy不是單獨指一個Schema文件,同時還包括其他幾個Linkbase文件,所以下一講我們將介紹Linkbase文件的組成。