0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】全銀フォーマット(全銀データ)のファイル作成を簡単に行うツールを作りました

0
Posted at

1. はじめに(作成の背景・動機)

業務システムやバックオフィス開発において、総合振込や給与振込などで全国銀行協会制定の振込フォーマット(いわゆる「全銀協フォーマット」/固定長形式)を扱う機会は少なくありません。しかし、実際に実装やテストを行う中で、以下のようなストレスを感じていないでしょうか?

  • 仕様書の目視確認の辛さ: レコード長や各項目の桁数、属性(英数・漢字・ゾーン10進など)を仕様書とにらめっこしながら実装・確認するのが大変。
  • 既存システムのモヤモヤ: 現在は給与振込や会計システムのボタン一つで出力できるようになっていますが、「なぜかオプション料が設定されている」「承認フロー(二重承認など)が必須で、テスト用や印刷確認用のサンプルデータを出力するだけでも一苦労」といった現場の制約に直面することがあります。

「ちょっとしたサンプルデータが欲しいだけなのに」「手元で安全かつ気軽に検証したいだけなのに」——そんな日々の実務における小さなストレスから解放されたい。そして、機密性の高いデータを外部に出さず、ローカル環境で安全に扱えるツールが欲しい。そう思い立ち、このツールを自作してみました。

2. 主な機能と特徴

このツールでは、全銀協フォーマットを扱う上で必要となる基本的な機能を網羅しています。

① 全銀データの生成機能

  • 画面上で必要な情報を入力・指定するだけで、規定に沿った全銀協フォーマットのテキストファイルを自動で組み立て・出力します。
  • ヘッダーレコード、データレコード、トレーラレコード、エンドレコードの各構造およびパディング(スペース埋め・ゼロ埋めなど)を正確に処理します。

② 全銀データの解析・バリデーション機能

  • 既存の全銀データファイルをアップロードするだけで、レコードごとに分かりやすくパースして中身を表示します。
  • 規定の文字数やデータ型、フォーマットの不備がないかをチェックし、エラー箇所を分かりやすく検知できます。

③ 直感的な操作性

  • 専門的な知識や専用のクライアントツールがなくても、Webブラウザを通じて直感的にデータの生成・解析を行えるUI設計にしています。

3. 実際の画面・使い方

chrome-capture-2026-10-20.gif

基本的な使い方の流れ

  1. モードの選択: 「データ生成(Create)」または「データ解析(Parse)」を選択します。
  2. 情報の入力 / ファイルの読み込み:
    • 生成の場合は、依頼人コードや振込先口座情報、金額などをフォームに入力します。
    • 解析の場合は、検証・確認したい全銀テキストファイルをアップロードします。
  3. 実行とダウンロード:
    • 処理を実行し、パース結果の確認や生成ファイルのダウンロードを行います。

4. 技術スタック・構成

開発にあたっては、シンプルでメンテナンスしやすい構成を採用しています。

  • 言語 / フレームワーク: Python / FastAPI / TypeScript / React
  • 対象フォーマット: 全国銀行協会制定の振込フォーマット(標準フォーマット・総合振込など)

5. おわりに

今回は、全銀フォーマットの作成・解析を効率化するサポートツールをご紹介しました。
ソースコードや詳細な使い方はGitHubに公開していますので、ぜひ触ってみてください!

GitHubリポジトリ: yoshiki2024/zengin_data

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?