🏦

全銀フォーマットについて

2023/12/07に公開

はじめに

Kyash Advent Calendar 2023 7日目の記事です。

業務で全銀フォーマットのパーサーを書く機会があり、仕様について調査したので備忘録として残しておきます。

全銀フォーマットとは

全銀フォーマットは正式には全銀協制定レコード・フォーマットといいます。
全銀ネット上で各種振込や住宅ローン、外国為替取引などを行う際にこのフォーマットに従いやりとりを行います。

参考: 一般社団法全国銀行協会:適用業務およびレコード・フォーマット

データ形式

全銀フォーマットはtxtファイルであり、具体的には以下のような内容になっています。

12100110999999キヤツシユ タロウ                               02249999               010               20999999
22606キヤツシユ ヒシムケ     020オモタニ1              19876543キヤツシ シヨウジ                    00000000010                    0
22606キヤツシユ ヒシムケ     030オモタニ2              29999999キヤツシ ハナコ                      00000000020                    0
22606キヤツシユ ヒシムケ     030オモタニ2              11234567キヤツシ ジロウ                     00000000030200504001 000001    0
8000003000000000006
9                                                                                                             

内容としては大きく分けて

  1. ヘッダーレコード
  2. データレコード
  3. トレーラレコード
  4. エンドレコード

の四つの要素からなります。

ヘッダーレコード

先頭が1になっている行

12109999999999キヤツシユ タロウ                               02249999               010               20999999

はヘッダーレコードと呼びます。
データの開始を表すのと同時に、振込であれば総合、給与、賞与などのデータ自体の種別も含みます。
さらに仕向の口座情報もここに入ります。
仕向とは銀行振込であれば振込のことをいいます。

口座情報としては金融機関番号、金融機関名、支店番号、預金種目(普通、当座など)、口座番号などがあります。

データレコード

先頭が2になっている行

22606キヤツシユ ヒシムケ     020オモタニ1              19876543キヤツシ シヨウジ                    00000000010                    0
22606キヤツシユ ヒシムケ     030オモタニ2              29999999キヤツシ ハナコ                      00000000020                    0
22606キヤツシユ ヒシムケ     030オモタニ2              11234567キヤツシ ジロウ                     00000000030200504001 000001    0

はデータレコードといいます。
こちらは金額や被仕向側の口座情報を保持します。
被仕向とは仕向に対して、振込のことを表します。
それぞれ固定長になっており、例えば以下の()の部分10桁が金額を表しています。

22606キヤツシユ ヒシムケ     020オモタニ1              19876543キヤツシ シヨウジ                    (0000000001)0                    0

ヘッダー1つに対してデータレコードが複数になっているのは、給与振込など振込元が一つで複数の口座に対して振込を行うことを想定しているんだと思います。

トレーラレコード

先頭が8の行

8000003000000000006

はトレーラレコードといいます。
ここには合計件数と合計金額が入ります。
データレコードが3件で合計金額が6円なので見えてくると思います。

エンドレコード

先頭9が終端文字になっており、この行をエンドレコードといいます。

今回の例ではヘッダーが一つの例でしたが、1ファイルに複数の仕向を含めることも可能で、その場合

ヘッダー
データ
...
トレーラ
ヘッダー
データ
...
トレーラ
...
エンド

という風になります。

最後に

今回は大枠のデータの持ち方についての説明を行いましたが、名義などは全銀テレ為替文字という利用可能文字が絞られていたり細かい仕様が多くあります。
実際にパーサーやバリデータを作成する際は、より詳細な仕様を把握する必要があります。

Kyashでは入出金機能で各銀行との繋ぎ込みを行ったり、決済電文であるISO8583などを扱ったり、さまざまな仕様書を読み込み実装することが多いです。

少しでも面白そう、興味が出たという方は応募よろしくお願いします。
https://www.kyash.co/recruit

Discussion