預金・定期預金・融資を「約束」として読む
残高を増減させるだけでは商品にならない。金利の版、契約時の条件、日数、返済、訂正までを一本につなぐ。
本文の説明・図・掲載コードだけで読み進められます。出典リンクは、権限のある人向け(非公開GitHub)です。GitHubで閲覧権限がある方だけ開けます。
この記事でわかること
- 預金と融資は、銀行から見た資産・負債と時間の約束が異なる
- 商品条件の新版と、すでに結んだ契約の条件を分ける
- 見積り・審査・承認・記帳・照合を別の責任として追える
この記事の目次
1. 商品は、金額に「時間と条件」が加わった約束
架空の利用者・花さんが普通預金に10万円を持っているとします。利用者には自分のお金ですが、銀行の帳簿では、花さんへ返す義務である「負債」です。一方、銀行が花さんに12万円を貸すと、銀行には返してもらう権利である「貸付金」という資産が生まれます。同じ円でも、誰の立場の数字かによって意味が変わります。
普通預金、定期預金、融資の違いは、画面の名前だけではありません。いつ使えるのか、いつ利息を計算するのか、途中でやめられるのか、返済できなければどうするのかという約束が違います。商品を実装するとは、この約束を、状態・日付・計算・権限・会計の規則に分解することです。
MiniBankの融資は個人向けの架空商品です。実際の信用情報を取り寄せたり、自動で与信判断したりする仕組みではありません。商品を読むときも、現実の銀行の取扱条件と取り違えず、約束をどこに保存し、どこで守っているかを見ます。
2. 定期預金は、使えるお金と契約を分けて考える
定期預金に振り替えたお金は、口座全体から消滅したわけではありません。普通預金として自由に使える部分から、満期と利息条件を持つ別の契約へ移ります。利用者に見せる合計資産と、いますぐ振り込める残高を区別しないと、「100万円あるのに送金できない」という説明不足になります。
v15では、普通預金と、3・6・12・24・36か月の定期預金に価格の版を持たせます。価格には年利だけでなく、最低預入額、中途解約の利率、普通預金の口座維持手数料と免除条件などが含まれます。定期預金の新しい契約では、版のID、年利、開始日、満期日、中途解約利率を契約に写し取ります。この写しをスナップショットと呼びます。
たとえば説明用に、2026年10月1日に100万円を年利1.00%で1年間預け、2027年10月1日に満期を迎えるとします。365日分の利息は1万円です。途中で新商品の金利が2.00%になっても、この契約の1.00%を後から書き換えません。これは実際の商品金利ではなく、条件を固定する意味を示す架空の例です。
3. 新しい金利を承認しても、古い約束は残す
金利を一つの設定値だけで管理すると、設定の変更が昔の契約にも効いてしまいます。利息の再計算をした日に結果が変わるなら、契約者も担当者も「当時の約束」を説明できません。v15は発行後の版の内容を不変にし、新しい版を追加する方式です。
版は担当者が提案し、別の管理責任者が承認します。有効開始日は承認日の翌営業日以降で、当日や過去に遡って差し替えません。見積りには、そのときの適用版と有効期限があります。見積り後に条件が変わった場合は、そのまま契約を通さず再見積りを求めます。数字が同じように見えても、何を承諾したかを曖昧にしないためです。
版のない旧契約は、推測で新しい版へ結びつけません。旧式の利息計算を残したまま扱います。移行の見た目を統一する便利さより、すでに結んだ約束を守ることを優先する設計です。
4. 融資は、申込から返済までを一つの状態にしない
v14の学習用融資は、固定年利6.00%、元金均等12回、融資額10万〜100万円、手数料0円です。元金均等とは、毎回の元金部分をおおむね同じにし、残っている元金に対して利息を付ける方式です。返済総額が毎回同じになる方式とは異なります。
花さんが2026年8月1日に12万円を借りた架空の例では、元金は1万円ずつ12回です。最初の返済日は9月1日。31日分の利息は、12万円×6%×31÷365の1円未満を切り捨てて611円、返済額は1万611円です。日数や丸めの規則がなければ、この611円に再現性はありません。
申込は提出・審査・承認・実行という流れを持ち、実行後に契約が有効になります。担当者が審査案を作り、別の管理責任者が決裁し、実行直前にも担当者と決裁者の現在の権限を確かめます。以前に承認されたからという理由だけで、失効した権限を使い続けることはできません。
承認には期限があります。返済は約定日以降で、先の回が未払いなら次へ飛ばせず、残高不足なら全額失敗します。部分的にだけ引き落として「返済済み」にしないので、顧客の残高と返済予定表の意味を一致させられます。
5. 利息が発生する日と、現金が動く日は違う
融資の利息が発生しても、その日に顧客が払ったとは限りません。MiniBankは、受け取る予定の「未収利息」を資産として増やし、同額を利息収益に記録します。返済時には、顧客預金を減らして、確定済みの未収利息、次に貸付元金へ充当します。「利益が出た」と「現金を受け取った」を分けて読む練習になります。
利息を毎日計上する場合、毎日の小額を個別に切り捨てると、一括計算より少なくなることがあります。v14は元金が同じ区間ごとの累積利息を切り捨て、前回までとの差を計上します。元金が変わる返済日に区間を切り替えるので、同じ期間なら処理の回数だけで総額が変わらない考え方です。
普通預金の利息も、最終日の残高だけから計算するものではありません。v15では期間中の日次残高を積み上げます。説明用に、100万円が10日、50万円が20日、年利1.00%なら、残高と日数の積の合計は2,000万円・日。利息は2,000万円×1%÷365を切り捨てた547円です。月末だけ100万円に戻しても、過去の日々の残高は変わりません。
6. 失敗と訂正も、商品の条件の一部
返済操作の直後に画面が固まると、利用者はもう一度押したくなります。しかし「応答が届かない」と「返済が行われていない」は別です。v14では同じ操作キーと同じ内容なら元の結果へ戻り、結果不明ならキーで状態を照会します。新しいキーで別の返済を作らないことが、二重引落しを防ぐ要点です。
延滞も、すぐに貸付金が消えることを意味しません。約定日の翌日から延滞として扱い、30暦日でデフォルト候補になります。確定には管理責任者の提案と別人の確認が必要です。確定後は利息の発生を止めますが、残元金と未収利息を消さず、返済も受け付けます。状態のラベルと会計残高を混同しない設計です。
訂正も単なる行の削除ではありません。融資は専用の経路から逆仕訳を行い、返済の訂正には対象の返済と後続処理の有無を確かめます。v17で追加された預金の利息・手数料の調整は、元記録を残して差額の記録を追加します。数字だけを戻して契約や明細を置き去りにしないため、業務ごとの入口が必要になります。
7. この商品模型から分かること、分からないこと
商品を読むときの順番は、「顧客への約束」「保存する条件」「いつ計算するか」「誰が承認するか」「何を記帳するか」「どの数字を照合するか」です。融資では貸付元金・未収利息と総勘定元帳を突き合わせ、預金価格では計算の実行記録と仕訳を突き合わせます。画面に正しい金額が一度表示されるだけでは、商品を正しく扱えたことにはなりません。
この模型は実際の預金保険、税、実在の金利決定、実信用情報、法人融資、繰上返済までを扱いません。また普通預金の日次残高は実時刻の日本時間の暦日、融資の期日などは論理上の営業日を使うため、時計を読む必要があります。版管理で安全になる一方、旧契約と新契約の計算経路を併存させる負担も残ります。
実装を読むなら:入口を三つに分ける
v14の顧客側入口はpublic.loan_customer、管理側はpublic.admin_lendingです。v15はpublic.pricing_customerとpublic.admin_pricing。名前を見つけたら、入力の検査、現在の権限、契約の版、会計の記録、照合の順に追います。本章は固定コミットの仕様を読む教材であり、銀行の操作や実環境の検証を実行する手順ではありません。
出典と、確認できた範囲
以下のリンクは非公開GitHubへの出典で、閲覧権限が必要です。本文はリンク先を開かなくても読める構成です。固定コード・設計資料を参照していますが、今回、この読み物のために銀行の取引やDB操作、本番試験は実行していません。実装や資料にある検査と、こちらで実施した検証を混同しないようにしています。
- v14 融資の契約 ↗(非公開GitHub・要権限)
商品条件、日数、丸め、権限、状態、会計、訂正の確定規則 - v15 預金・価格の契約 ↗(非公開GitHub・要権限)
版管理、契約条件の保存、利息・手数料と旧契約の扱い - v17 信頼性と訂正の契約 ↗(非公開GitHub・要権限)
価格実行記録の専用の調整経路
MiniBankは学習・検証用の銀行アプリです。架空の金額や人物は、仕組みを説明するための例です。
つながる読み物
ここまで読んだ記録を、ひとつ。
自分のペースで。あとから取り消すこともできます。