Xbrlについて調べてみた

XBRLを知るためのまとめ記事。

有価証券報告書を使って何かやりたいとかなった時に、XBRLという言葉が出てきた。
結構概念をつかむのが大変だったので、この流れで読めば分かりやすい。っていうのを残しておく。

[XBRLとは？（動画）](http://www.hp.jicpa.or.jp/ippan/jicpa_pr/sp/xbrl/xbrlall.html)
XBRL Japanによる、XBRLとはなんぞやを紹介している動画。
概念を知るためにはとてもわかり易く、HTMLと比較しているところとか上手い。

[XBRLの構造](https://www.xbrl.or.jp/modules/pico7/index.php?content_id=6)
会計の文書は、XBRL・XMLなど複数のファイルによって成り立っている。
それぞれのファイルの説明を行っている記事。

[実際にファイルを落としてみよう(EDINET)](https://disclosure.edinet-fsa.go.jp/E01EW/BLMainController.jsp?uji.verb=W1E63011CXW1E6A011DSPSch&uji.bean=ee.bean.parent.EECommonSearchBean&TID=W1E63011&PID=W1E63011&SESSIONKEY=1438394533628&lgKbn=2&pkbn=0&skbn=1&dskb=&askb=&dflg=0&iflg=0&preId=1&mul=&fls=on&cal=1&era=H&yer=&mon=&pfs=4&row=100&idx=0&str=&kbn=1&flg=&syoruiKanriNo=)
実際の有価証券報告書などのXBRL文書は、EDINETが一般公開している。
報告書一覧が表示されているので、適当にXBRLカラムのXBRLファイルアイコンをクリックしてみると、ファイル一式がダウンロードされる。

落としてみるとわかるが、1つの文書は以下の様なファイル群で成り立っている

* インスタンス文書(*.xbrl)：ビジネス報告情報を記述したXML文書
* タクソノミ文書：インスタンス文書の内容・構造・扱われ方などを定義
  * タクソノミスキーマ(XML Schema)(*.xsd)：インスタンス文書の語彙（要素名、属性など）をXML Schemaで定義。具体的な勘定科目名や注記事項などの項目を定義
  * リンクベース（XLink）(*.xml)：      
    * Presentation Linkbase：項目間の表示順を定義
    * Calculation Linkbase：項目の数値データの重み付き加算式を定義
    * Definition Linkbase：項目間の様々な関係（意味の同一性、項目の出現規則など）を定義
    * Label Linkbase：項目の表示名称（ラベル）を定義（日本語/英語/中国語など様々な言語で定義可能）
    * Reference Linkbase：参考文献（会計概念定義の根拠文献）を定義

まずはインスタンス文書を見てみる。

インスタンス文書
--------------

ダウンロードしたフォルダの中の、xbrlファイルをエディタで開いてみると、結構頭痛くなるタグの羅列が表示される。
よくよく構造を見てみると、会計の英語用語と、対象年、その値がずらっと書かれていることが分かる。

例：

```
<jpfr-t-cte:CashAndDeposits id="fact1" contextRef="Prior1YearConsolidatedInstant" unitRef="JPY" decimals="-3">23440832000</jpfr-t-cte:CashAndDeposits>
```

⇒前年度の連結時点(Prior1YearConsolidatedInstant)での現金及び預金(CashAndDeposits)は、23440832000円(JPY)でした。

Prior1YearConsolidatedInstantみたいなのの説明は[こちら](http://tecaweb.net/archives/156)
Prior1Year/Consolidated/Instantで切るらしい。

次に、タクソノミ文書のタクソノミスキーマ(*.xsd)を見てみる。

タクソノミスキーマ
---------------

```
<link:linkbaseRef xlink:type="simple" xlink:href="jpfr-asr-EXXXX-000-2010-03-31-01-2010-06-28-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
```
⇒項目間の表示順を定義するPresentation Linkbaseには、"jpfr-asr-EXXXX-000-2010-03-31-01-2010-06-28-presentation.xml"（同じフォルダ内に入っているファイル)を利用します。という事を示している。ほかの全てのLinkbaseへのリンクも入っているので、各自ご確認を。

それではそれぞれのLinkbase(XMLファイル)を見てみる。
タグの名前が色々あるので、[こちら](http://itdoc.hitachi.co.jp/manuals/3020/30203N3920/N390137.HTM)のXMLファイル内のタグの説明を見てみると、わかりやすい。

Presentation Linkbase
---------------------
項目間の表示順を定義しているファイル。
これがないと、規定された順番でデータが表示されなくなってしまう。

例：

```
<link:presentationArc xlink:type="arc" xlink:from="jpfr-t-cte_SellingGeneralAndAdministrativeExpensesAbstract" xlink:to="jpfr-t-cte_SuppliesExpensesSGA" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" use="prohibited" priority="1" order="19" />

```
→　販売費および一般管理費内の事務用消耗品費は17番目に表示してください

Calculation Linkbase
--------------------

項目の数値データの重み付き加算式を定義しているファイル。
例：

```
<link:calculationArc xlink:type="arc" xlink:from="jpfr-t-cte_TotalChangesOfItemsDuringThePeriodTS" xlink:to="jpfr-t-cte_PurchaseOfTreasuryStockTS" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" order="0.5" weight="1" />
```

⇒当期変動額合計(TotalChangesOfItemsDuringThePeriodTS)内の自己株式の取得(PurchaseOfTreasuryStockTS)のweightは1です。

<link:calculationArc>要素のweight属性：子要素から親要素に数値を加算するときに，その要素の値に適用する乗数を示します。値「1.0」はその要素の数値を100%親要素に加算し，「-1.0」は100%減算することを表す。らしい。

Definition Linkbase
-------------------
項目間の様々な関係（意味の同一性、項目の出現規則など）を定義しているファイル。


Label Linkbase
--------------
項目の表示名称（ラベル）を定義しているファイル。

Reference Linkbase
------------------
参考文献（会計概念定義の根拠文献）を定義しているファイル。


最後に
-----
今回XBRLの解読にもっとも役立ったのが、金融庁が出しているこの[Excelファイル](http://www.fsa.go.jp/search/20130301/01_d1.xls)
この要素の意味は何？と思った時に、このファイル内で探すと、日本語の意味を教えてくれる。
このファイルを辞書代わりに利用すると、理解がとても早い。