スポーツクラブ、学習塾、協会、管理組合。毎月決まった額を会員から口座振替で集めている会社は、月に一度、銀行に提出する引落データを作っています。このファイルの形式が全銀フォーマットです。
会員名簿が kintone にあるなら、そこから直接このファイルを出せます。今回は会費の引落を題材に、アプリを作って全銀フォーマットプラグインを設定し、実際にテキストファイルを出力するところまでをやってみます。
全銀フォーマットは、桁の位置で意味が決まる
全銀フォーマットは1行120バイトの固定長テキストです。何桁目から何桁目が金融機関コード、次の15桁が金融機関名、という具合に位置で項目が決まっています。足りない分は半角スペースや0で埋めます。文字は半角カナだけで、濁点も1文字として数えます。
kintone の標準機能にあるCSV書き出しは、項目をカンマで区切って出すものです。桁を揃えることも、漢字を半角カナに直すこともしません。だから多くの現場では、kintone から出したCSVを Excel に取り込み、関数で桁を揃えてテキストに書き出す、という作業が毎月発生します。桁がひとつズレるとそのファイルは銀行で弾かれます。
作るアプリ
「会費引落」という名前で、会員ごとに1レコードを持つアプリを用意しました。フィールドはこの構成です。
- 会員情報:会員番号、会員名、引落金額、送信ステータス(未送信/送信済)
- 引落口座:金融機関名、金融機関コード、支店名、支店コード、預金種目、口座番号、口座名義(半角カナ)
預金種目はラジオボタンで「普通」「当座」の2つ。引落口座のブロックには、プラグインが検索ボタンを置くためのスペースフィールドを1つ入れてあります。要素IDは bank_search としました。
1. 自社の口座を登録する
プラグインの設定画面を開くと、最初に出てくるのが口座設定です。ここで決めるのは利用タイプと、お金を受け取る自社の口座です。
利用タイプには振込と振替があります。振込は自社口座から各レコードの口座へ払い出すとき、振替は各レコードの口座から自社口座へ引き落とすときに使います。会費の集金なので振替を選びます。
口座情報の行にある「検索」を押すと金融機関を選べます。委託者コードは銀行から渡される10桁の番号で、口座名義は半角カナで入れます。
2. アプリのフィールドと対応づける
フィールド設定で、全銀フォーマットの各項目がアプリのどのフィールドに入っているかを指定します。
金融機関名、金融機関コード、支店名、支店コードの4つには「編集不可」のチェックを入れておきます。この4つは次の手順で使う金融機関検索が書き込む項目なので、手で触れないようにしておくほうが安全です。
3. 出力したレコードに印をつける
その他機能設定にある一括自動更新を使うと、ファイルを出力したタイミングで、出力されたレコードの値を書き換えられます。
ここでは送信ステータスを「送信済」にしました。これを入れておくと、出したものと出していないものが一覧で区別できます。二重に引き落とす事故はこれで防げます。
4. 会員の口座は検索から入れる
設定が終わったらレコードを作ります。引落口座のところに「金融機関検索」というボタンが出ているので、それを押します。
銀行名を入れて検索すると候補が並びます。
銀行を選ぶとその銀行の支店一覧に切り替わります。
支店を選ぶと、金融機関名と支店名が半角カナで、コードが数字で、フォームに入ります。ここを手入力させると「ホツカイドウ」を「ホッカイドウ」と書いたり、濁点を全角で打ったりといった揺れが必ず出ます。選ばせてしまえば揺れません。
この検索は金融機関マスタを引いています。支店の統廃合があってもマスタ側で面倒を見るので、アプリに銀行マスタを持つ必要はありません。
5. 一覧から出力する
会員を5件入れました。全員が未送信の状態です。
一覧の上にある「全銀データ出力」を押すと、出力の内容を確認する画面が出ます。引落日と出力ファイルタイプをここで決めます。ファイルタイプはテキストとCSVから選べます。
「振替データ出力」を押すとファイルがダウンロードされ、一覧に戻ります。5件とも送信済に変わりました。
出てきたファイル
ダウンロードされたのは974バイトのテキストファイルです。中身はこうなっています。1行目がヘッダ、2行目から6行目が会員ごとのデータ、最後の2行が合計と終端です。
ヘッダの先頭は、データ区分の1、種別コードの91、コード区分の0が並び、そのあとに委託者コード0123456789、委託者名、引落日の1127、取引銀行の0116と101が続きます。
データ行は金融機関コードの0116から始まり、支店コード109、預金種目1、口座番号5678901、預金者名、金額0000005500、顧客番号M-0005と並びます。
最後から2行目の8で始まる行が合計です。00005が件数、000000030800が合計金額で、5件分の30,800円が入っています。このあとに9だけの行が入って終わりです。すべての行がちょうど120バイトで、改行はCRLFになっています。
振込にも使える
利用タイプを振込に変えると、同じアプリが支払いの側で使えます。自社口座から各レコードの口座へ払い出す形になるので、外注先への支払いや、従業員の経費精算の振込データがそのまま作れます。
月に数十件でも、手で桁を数えてファイルを作る作業がなくなるのは大きいです。kintone に名簿があるなら、引落データを別のところで作る理由はもうありません。
使っているプラグイン
この記事で使ったのは全銀フォーマットプラグインです。口座の検索部分には金融機関検索プラグインと同じ仕組みが入っています。
XenoX のプラグインは、必要なものをまとめた3つのプランで提供しています。1契約で使えるので、ひとつずつ買い集める必要はありません。プラグイン一覧からご覧いただけます。
自社の引落や支払いの流れをどうアプリに落とすか決めかねているときは、kintone業務改善支援でご相談ください。10年以上 kintone を触ってきた立場で、作るところまでお手伝いします。