Beatrek:金融技術をあなたのチカラに変えるサイト

お知らせ

スポンサーリンク

共通

基本構造

OFXは、以下のように記述する。なお、コメント(<!---->)は、GnuCashで文字コードを正しく認識できない問題に対処する目的で記述している。

<?xml version="1.0" encoding="UTF-8"?>
<?OFX OFXHEADER="200" VERSION="200" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<!--
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:UTF-8
CHARSET:UNICODE
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
-->
<OFX>
  <SIGNONMSGSRSV1>
  <SONRS>
    <STATUS>
      <CODE>0</CODE>
      <SEVERITY>INFO</SEVERITY>
    </STATUS>
    <DTSERVER>OFXを生成した日時</DTSERVER>
    <LANGUAGE>JPN</LANGUAGE>
    <FI>
      <ORG>プログラム名</ORG>
    </FI>
    </SONRS>
  </SIGNONMSGSRSV1>
  銀行クレジットカード証券前払式帳票(電子マネー)のいずれか
</OFX>

プログラム名(A-32)

OFXを生成したプログラム名。

例:PURSE/1.0

日時(A-32、datetime)

YYYYMMDDHHIISS[TZ]

YYYY: 0000-9999, MM: 01-12, DD: 01-31, HH: 00-23, II: 00-59, SS: 00-60, TZ: +9:JST

年月日時分秒、タイムゾーンを連結した22バイトの文字列。

年月日の年は4桁の数値、月日は各々2桁の数値。指定桁数に満たない場合、ゼロパディングする。

時分秒は各々2桁の数値。指定桁数に満たない場合、ゼロパディングする。特に必要がなければ000000固定でもよい。

タイムゾーンは[+9:JST]固定とする。

OFX2.1.1仕様では、時分秒、タイムゾーンは省略可能だが、本仕様ではいずれも必須とする。

OFX2.1.1仕様では、ミリ秒は省略可能だが、本仕様では指定してはならない。

例(2012年6月15日の場合):20120615000000[+9:JST]

金額(A-32、amount)

金額を示す数値。カンマは記述しない。

入金は正の数値、出金は負の数値とする。正の数値の場合、+は省略してもよい。

例(+1234.5円の場合):1234.5

口座情報(A-360)

金融機関や口座情報を示す文字列。

銀行の場合、金融機関名、支店名、口座名を全角スペースで連結した文字列とする。クレジットカードの場合、金融機関名とカード名を全角スペースで連結した文字列とする。証券の場合、金融機関名とする。前払式帳票(電子マネー)の場合、識別子とするか、または識別子、ユーザーID等を全角スペースで連結した文字列とする

OFX2.1.1仕様では、タグ<MKTGINGO></MKTGINGO>自体が省略可能だが、本仕様では必須とする。

例(三菱東京UFJ銀行丸の内支店普通口座の場合):三菱東京UFJ銀行 丸の内支店 普通

明細

1件毎に、以下のように記述する。

<STMTTRN>
  <TRNTYPE>取引種目</TRNTYPE>
  <DTPOSTED>日時</DTPOSTED>
  <TRNAMT>金額</TRNAMT>
  <FITID>明細ID</FITID>
  <NAME>摘要</NAME>
  <MEMO>メモ</MEMO>
</STMTTRN>

取引種目

OFX2.1.1仕様で定義されている取引種目のうち、いずれかを指定する。

共通

受取利息・支払利息はINT、金融機関への支払手数料はFEE、(金融機関以外への)取引手数料はSRVCHG、(金融機関以外への)口座振替はDIRECTDEBIT、電子決済はPAYMENT、その他の入出金はOTHERとする。

銀行・クレジットカード

規則性や繰り返しのある支払はREPEATPMTとする。

銀行・証券

ATM(通帳・キャッシュカード)での入出金はATM、現金入金はDEP、現金出金はCASH、振込入出金はDIRECTDEP、(同一の金融機関口座における)預金種目間の振替はXFERとする。

前払式帳票(電子マネー)

特に必要なければDIRECTDEBITとする。その他を指定する場合、銀行に準じる。

銀行のみ

POS(レジ)での入出金はPOS、デビットカード払いはDEBIT、小切手払いはCHECKとする。

クレジットカードのみ

クレジットカード払いはCREDITとする。

証券のみ

分配金・配当金はDIVとする。

明細ID(A-255)

年月日、口座種目、請求月、データ種別、トランザクション通番を連結した20バイトの文字列。

年月日の年は4桁の数値、月日は各々2桁の数値。指定桁数に満たない場合、ゼロパディングする。

口座種目は4桁の数値。指定桁数に満たない場合、ゼロパディングする。同一のログイン情報配下に複数口座が登録されている場合、各々の口座を識別するために使用する。特に必要なければ0000固定とする。

請求月は2桁の数値。指定桁数に満たない場合、ゼロパディングする。クレジットカードにおいて、同一の日付に複数の明細が存在し、かつ明細毎に請求月が異なり、かつOFXを請求月単位で生成する場合、複数のOFXに亘って同一の明細IDが生成されてしまうため、それを防ぐために指定する。特に必要なければ00固定とする。

データ種別は1桁の数値。金融機関の明細には存在しない明細を追加する場合(具体的にはクレジットカードにおいて、支払日明細を追加する場合)1とする。特に必要なければ0固定とする。

トランザクション通番は5桁の数値。指定桁数に満たない場合、ゼロパディングする。年月日毎に00000から始まる連番とする。

例(2012年6月15日、口座種別20、請求月7、データ種別1、トランザクション通番12の場合):20120615002007100012

摘要(A-32)

摘要を示す文字列。

メモ(A-255)

メモを示す文字列。特に必要なければ-固定とする。

OFX2.1.1仕様では、タグ<MEMO></MEMO>自体が省略可能だが、本仕様では必須とする。

スポンサーリンク

ソーシャルボタン

Twitter ツイート
Facebook シェア
Google +1
はてなブックマーク
Pocket