銀行エンジニアリング 23:1件の取引は、銀行システムの中をどう流れるか(v7〜v13総まとめ)
他行宛の送金1件を起点に、記帳・決済・会計・照合・AML・運用・資金管理までをMiniBankの実装で1本につなげます。コースの総まとめです。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- 各層の責務と受け渡し
- どの層が何を「正」とするか
- 障害がどの層で見つかり、どこで直すか
PLAIN LANGUAGE
まず、ここだけつかむ
1件の送金は、Payment・Posting・Ledger・Settlement・GL・照合・AML・運用・Treasuryを通ります。
記録は仕訳に集め、他の層はそれを読むか同じ入口から書きます。
障害は見つかる場所と直す場所が違うため、追跡と役割分担が重要です。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
System of Record
正とする記録です。
食い違いの判断基準を1つにするためです。
仕訳(ledger)。
境界の不確実性
外部の結果が分からない状態です。
分からないことを正しく扱うためです。
RESULT_UNKNOWNと照会。
職務の分離
確認や承認を別の人が行うことです。
誤りと不正を防ぐためです。
二次確認・上申・二者確認・管理責任者のクローズ。
全体の流れ
- 01Customer:送金指図(v9 interbank.submit)
- 02Payment:資金確保と状態管理(AUTHORIZED → SENT → ACCEPTED)
- 03Posting:Business Event と記帳ルール(v8)
- 04Ledger:追記専用の仕訳と勘定(v7/v8)
- 05Settlement:架空の決済システムで決済(v9 SETTLED)
- 06GL:勘定科目で集計、試算表・BS・PL(v10)
- 07Reconciliation:補助元帳・決済システム・整合性の照合(v8〜v10)
- 08AML:台帳を後から読んで監視(v11)
- 09Operations:状態・キュー・追跡・インシデント(v12)
- 10Treasury:ポジションと資金繰り(v13)
層ごとの「正」
| 層 | 何を記録するか | 何を正とするか |
|---|---|---|
| Payment | 支払の状態と電文 | 決済システムの記録(照会で確認) |
| Posting / Ledger | Business Event と仕訳 | 仕訳(System of Record) |
| GL / 会計 | 勘定科目別の集計・締め記録 | 仕訳から計算した数字(別の帳簿を持たない) |
| AML | アラート・ケース・判断 | 判断の記録(アラートは判断ではない) |
| Operations | インシデント | 各業務のデータ(キューは毎回計算) |
| Treasury | 資金取引・シナリオ計算 | GLの残高(ポジションは計算) |
障害がどこで見つかり、どこで直すか
| 障害 | 見つかる場所 | 直す場所 |
|---|---|---|
| 応答なし(結果不明) | Operations Center の Exception・Payments RED | 支払詳細で照会(再送しない) |
| 残高キャッシュのずれ | Posting整合性・補助元帳照合・Accounting RED・日次締め BLOCKED | 二者確認の残高修復手続き |
| 入金先不明 | 仮受金・Reconciliation キュー | 仮受金の振替(管理責任者) |
| 不審な取引パターン | AMLアラート | ケース調査と判断 |
| 預金流出・金利上昇 | Treasuryのシナリオとギャップ表 | 資金取引(調達・運用) |
Level 4 アーキテクチャ:一貫性を支える3つの原則
- 記録は1か所(仕訳)に集め、他の層はそれを読むか、同じ入口(ledger.post_journal_entry と営業日ゲート)を通って書く
- 外部との境界(決済システム)では、分からないことを「分からない」状態として持ち、照会と照合で解消する
- 判断・承認・インシデントの記録は追記のみとし、職務の分離をDBの関数で強制する
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1会計(v10)は仕訳とは別の帳簿を持っていますか?
持っていません。
Q2Operations Centerのキューを消すには?
各業務の担当画面で原因を直します。
Q3AMLは記帳処理の中で動きますか?
いいえ。台帳を後から読みます。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
SOURCE TRAIL
根拠と関連教材
CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。
確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。
Implementation Status: IMPLEMENTED IN MINIBANK(この教材が扱うコードの範囲)
- RELATED LESSON/docs/architecture全体アーキテクチャ
- RELATED LESSON/docs/be-ledger-foundationコースの最初
- CURRENT IMPLEMENTATION
supabase/migrations/20260924150000_v13_treasury_alm.sqltreasury.position / treasury.maturity_ladderGLからのポジションと満期別ギャップ - CURRENT IMPLEMENTATION
supabase/migrations/20260924140000_v12_operations_center.sqlopscenter.trace / opscenter.audit_for対象から原因・影響・監査ログまでの追跡