学習・技術検証用デモ — 本システムは実際の銀行サービスではありません。

公開情報をもとに構築した教育目的のシステムです。実在する個人情報・口座情報・機密情報・認証情報等を入力しないでください。

ミニ銀行ACADEMY SYSTEM LEARNING
教材メニュー
学習進捗0 / 134
あと134項目
BEGINNER · 入門COURSE 09 · BANKING ENGINEERING

銀行エンジニアリング 09:顧客の100万円預金は、銀行にとって何か

一般の会社にとって預金は「自分の資産」ですが、銀行にとって顧客の預金は「返す義務(負債)」です。1件の預金が仕訳から貸借対照表まで届く流れを、MiniBank v10の銀行会計で追います。

11 / 55
BANKING ENGINEERING · 銀行エンジニアリング

v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。

Prerequisite: BANKING SYSTEM

LEARNING GOALS

このページで学ぶこと

  • 一般企業の経理と銀行会計の見え方の違い
  • 預金が資産と負債の両方に表れる理由
  • Customer Transaction → Ledger → GL → 試算表 → BS / PL の流れ

PLAIN LANGUAGE

まず、ここだけつかむ

1

顧客の預金は、銀行にとって返す義務のある負債です。

2

預金を受け入れると、資産(現金など)と負債(普通預金)が同じ額だけ増え、利益は生まれません。

3

MiniBankのGLは、v7/v8の仕訳を勘定科目で集計したもので、別の帳簿ではありません。

DIFFICULT PARTS, STEP BY STEP

難しいポイントを、順番にほどく

専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。

01

Chart of Accounts(勘定科目表)

やさしく言うと

決算書に使う科目の一覧です。

なぜ必要?

細かい勘定を報告用の単位にまとめるためです。

Minibankでは

gl.accounts(11科目)と gl.account_map。

02

負債としての預金

やさしく言うと

顧客に返す義務です。

なぜ必要?

預金は銀行のお金ではなく預かり物だからです。

Minibankでは

2100 普通預金・2200 定期預金。

03

GL(総勘定元帳)

やさしく言うと

科目ごとに仕訳を集計した帳簿です。

なぜ必要?

銀行全体の状態を少ない科目で把握するためです。

Minibankでは

gl.trial_balance() が仕訳から集計します。

Level 1 基礎:同じ100万円、立場で意味が変わる

銀行の貸借対照表(BS)では、預金を受け入れると「現金(資産)」と「普通預金(負債)」が同じ額だけ増えます。預金が増えても銀行がそのぶん儲かったわけではありません。

立場100万円の預金は帳簿の側
預けた会社・個人銀行に預けてある自分のお金=資産借方(資産)
預かった銀行いつでも返さなければならないお金=負債貸方(負債)
銀行が受け取った現金銀行が持っている資産借方(資産)

Level 2 銀行業務:1件の預金を決算書まで追う

  1. 01Customer Transaction(100万円の入金)
  2. 02Posting(会計ルール CASH_DEPOSIT_STANDARD)
  3. 03Ledger(SYSTEM_FUNDING と顧客の預金勘定)
  4. 04General Ledger(1000 現金 / 2100 普通預金)
  5. 05Trial Balance(借方合計=貸方合計)
  6. 06Balance Sheet(資産=負債+純資産)
段階借方貸方
仕訳(Ledger)SYSTEM_FUNDING 1,000,000顧客の預金勘定 1,000,000
勘定科目(GL)1000 現金 1,000,0002100 普通預金 1,000,000
BS資産 +1,000,000負債 +1,000,000

Level 3 システム:MiniBankでの実装

  • v10は別の会計システムを作らず、v7/v8の仕訳(ledger.journal_lines)を勘定科目(gl.accounts)へ集計する
  • 顧客ごとの預金勘定はすべて 2100 普通預金にまとまり、SYSTEM_FUNDING は 1000 現金、CENTRAL_BANK_SETTLEMENT は 1100 中央銀行預け金になる(gl.account_map)
  • DBテストで、100万円の入金により 1000 と 2100 がそれぞれ1,000,000増え、BSの資産=負債+純資産が保たれることを確認している

異常時:勘定科目に対応しない勘定がある

段階内容
症状試算表の借方合計と貸方合計がずれる/締めが ALL_LEDGER_ACCOUNTS_MAPPED で止まる
原因新しい勘定を追加したのに gl.account_map へ対応を登録していない
対応対応を登録する。仕訳は正しいので、仕訳側を直す必要はない
再発防止補助元帳照合の unmapped_ledger_accounts を監視し、締めのブロック条件にしている

Level 4 アーキテクチャ:会計は「もう1つの帳簿」ではなく「見方」

仕訳を二重に持つと、どちらが正しいかという新しい問題が生まれます。MiniBankは記録(仕訳)を1つに保ち、勘定科目への対応表で見方を変えることで、業務システムと会計の数字が構造的に一致するようにしています。

どこを確認すればよいか

  • 管理画面「銀行会計・締め」:BS・PL・試算表
  • 勘定科目のリンク:その科目に集計される勘定と最近の仕訳

CHECK YOUR UNDERSTANDING

3問で理解チェック

答えを頭の中で考えてから、各項目を開いて確認してください。

Q1100万円の預金を受け入れると、銀行の利益はいくら増えますか?
答え

増えません。資産と負債が同額増えるだけです。

Q2MiniBankの 2100 普通預金の中身は何ですか?
答え

顧客ごとの預金勘定の合計です。

Q3v10は仕訳を別に持っていますか?
答え

持っていません。v7/v8の仕訳を集計しています。

ここまで読めましたか?

完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。

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/accounting銀行取引と会計(v7)
  • RELATED LESSON/docs/be-ledger-foundation借方と貸方
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260924120000_v10_bank_accounting.sqlgl.gl_code_for / gl.movementsLedger勘定から勘定科目への対応
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260924120000_v10_bank_accounting.sqlgl.trial_balance / gl.balance_sheet / gl.profit_and_loss試算表・BS・PL(仕訳を勘定科目で集計)
  • CURRENT IMPLEMENTATIONscripts/banking/v10-accounting.test.mjsBS/PL、補助元帳差異の検出、仮受金、締めのDBテスト